此问题已在此处有答案:
Concatenate strings from several rows using Pandas groupby(8个回答)
How to group dataframe rows into list in pandas groupby(17回答)
关闭54分钟前.
import pandas as pd
df = pd.DataFrame({'id':['A','A','A','B','B','B','C'],'name':[1,2,3,4,5,6,7]})
print(df.to_string(index=False))
到目前为止,上面代码的输出是:
id name
A 1
A 2
A 3
B 4
B 5
B 6
C 7
但我期望它的输出如下:
id name
A 1,2,3
B 4,5,6
C 7
我不知道如何做到这一点,我已经尝试了其他几个代码,但没有为我工作。请帮助解决这个问题。
2条答案
按热度按时间f0ofjuux1#
如果你想要一个逗号分隔的值列表,你可以使用
join
进行聚合,注意你必须首先将值转换为字符串:输出:
如果你只是想要一个值列表,可以使用
list
聚合:输出:
oug3syen2#
可以使用
groupby()
、apply()
和reset_index()
:df
:此外,如果希望
name
列为string
而不是list
,可以执行以下操作:df
: