在 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 中组合字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 Pandas 中将字符串列转换为日期的有效方法(在 Python 中),但没有时间戳
如何在 pandas 数据框中组合 AND 和 OR 运算符?