在 python pandas 中组合字符串

Posted

技术标签:

【中文标题】在 python pandas 中组合字符串【英文标题】:combine string in python pandas 【发布时间】:2016-10-22 07:19:15 【问题描述】:

我在分析关于将字符串组合在一起的数据集时遇到问题。 数据框如下所示:

IP      Event
01      check
01      redo
01      view
02      check
02      check
03      review
04      delete

如您所见,IP 包含重复项。我的问题是,怎样才能得到每个IP按顺序组合Event组的结果。比如我要找的结果是:

IP    result
01    check->redo->view
02    check->check
03    review
04    delete

【问题讨论】:

【参考方案1】:

试试这个:

In [27]: df.groupby('IP').agg('->'.join).reset_index()
Out[27]:
   IP              Event
0  01  check->redo->view
1  02       check->check
2  03             review
3  04             delete

In [26]: df.groupby('IP').agg('->'.join)
Out[26]:
                Event
IP
01  check->redo->view
02       check->check
03             review
04             delete

【讨论】:

@EthanBao,不客气! :) 请考虑accepting 最有帮助的答案 - 这也表明您的问题已得到解答【参考方案2】:

用 lambda 试试这个:

df.groupby("IP")['Event'].apply(lambda x: '->'.join(x)).reset_index()


  #  IP           Event
# 0   1  check->redo->view
# 1   2       check->check
# 2   3             review
# 3   4             delete

【讨论】:

以上是关于在 python pandas 中组合字符串的主要内容,如果未能解决你的问题,请参考以下文章