pandas根据列值连接字符串

时间:2019-10-31 04:29:43

标签: python python-3.x pandas numpy

我有一个数据框

df = pd.DataFrame({
        'Names': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
        'Value': ['A1','A2','A3','B1','B2','C1','C2','C3']})

#  Names Value
#0     A    A1
#1     A    A2
#2     A    A3
#3     B    B1
#4     B    B2
#5     C    C1
#6     C    C2
#7     C    C3

我希望将其设置为当前状态:

#  Names Values
#0     A    [A1, A2, A3]
#1     B    [B1, B2]
#2     C    [C1, C2, C3]

pandasnumpy软件包中是否有任何内置函数可以简化此过程?还是我被迫使用默认的python进行迭代?

2 个答案:

答案 0 :(得分:1)

尝试一下:

df.groupby('Names')['Value'].apply(list).reset_index(name='Values')

答案 1 :(得分:1)

这很简单:

df.groupby('Names')['Value'].apply(list).reset_index(name='Values')