[英]Python Panda Concat Multiple Rows
我正在使用以下代码创建合并的Panda DataFrame。
mergedPanda = indicatorPanda.merge(commentPanda, on='id', how='left')
但是由于Dataframe2中有多行,我遇到了具有相同ID的重复行的问题
所以现在,这是我希望我的最终结果是:
数据框1
ID VALUE DATE
1 google.com 12/28/2015
2 yahoo.com 12/28/2015
3 cnn.com 12/28/2015
4 facebook.com 12/28/2105
数据框2
ID COMMENT
1 Bad Stuff
1 Much Worse Stuff
2 Good Stuff
3 Werid Stuff
4 Crazy Stuff
期望的结果将在这里
ID VALUE DATE COMMENT
1 google.com 12/28/2015 Bad Stuff | Much Worse Stuff
2 yahoo.com 12/28/2015 Good Stuff
3 cnn.com 12/28/2015 Weird Stuff
4 facebook.com 12/28/2015 Crazy Stuff
有没有一种方法可以将注释与某种字符相互吸引? 我知道我们不属于常规SQL和Panda领域。
您可以先在第二帧上进行groupby
,以获取所需的管道分隔版本,然后将其与第一帧合并:
In [27]: df1
Out[27]:
ID VALUE DATE
0 1 google.com 12/28/2015
1 2 yahoo.com 12/28/2015
2 3 cnn.com 12/28/2015
3 4 facebook.com 12/28/2105
In [28]: df2
Out[28]:
ID COMMENT
0 1 Bad Stuff
1 1 Much Worse Stuff
2 2 Good Stuff
3 3 Werid Stuff
4 4 Crazy Stuff
In [29]: df2.groupby("ID").agg(" | ".join)
Out[29]:
COMMENT
ID
1 Bad Stuff | Much Worse Stuff
2 Good Stuff
3 Werid Stuff
4 Crazy Stuff
In [30]: df1.merge(df2.groupby("ID").agg(" | ".join), left_on = "ID", right_index=True, how="left")
Out[30]:
ID VALUE DATE COMMENT
0 1 google.com 12/28/2015 Bad Stuff | Much Worse Stuff
1 2 yahoo.com 12/28/2015 Good Stuff
2 3 cnn.com 12/28/2015 Werid Stuff
3 4 facebook.com 12/28/2105 Crazy Stuff
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.