我有输入:
Date Topic Group Return
1/9/2018 X A a
1/9/2018 Y A a
1/9/2018 Z A a
1/9/2018 K B a
1/9/2018 L B a
1/10/2018 M C b
1/10/2018 N C b
1/10/2018 W A b
如何获得以下输出: 输出
Date Group Topic Return
1/9/2018 A X, Y , Z a
B K,L a
1/10/2018 A W b
C M, N b
非常感谢您
答案 0 :(得分:2)
IIUC groupby
和agg
df.groupby(['Date','Group']).Topic.agg(','.join).to_frame('Topic')
Out[1270]:
Topic
Date Group
1/10/2018 A W
C M,N
1/9/2018 A X,Y,Z
B K,L
答案 1 :(得分:2)
从@Wen的公司领取。聚合多个列。
In [458]: df.groupby(['Date', 'Group'], sort=False).agg(
{'Topic': ', '.join, 'Return': 'first'})
Out[458]:
Topic Return
Date Group
1/9/2018 A X, Y, Z a
B K, L a
1/10/2018 C M, N b
A W b