我有这样一个数据集:
>>> df = pd.DataFrame({'id_sin':['s123','s123','s124','s124'],
'raison':['first problem','second problem','album','dog']
})
>>> df
id_sin raison
0 s123 first problem
1 s123 second problem
2 s124 album
3 s124 dog
这是预期输出:
id_sin raison
0 s123 first problem, second problem
1 s124 album, dog
我尝试的是:
df['raison'] = df.groupby('id_sin')['raison'].apply(lambda x: ', '.join(x))
但不起作用。。。我错过了什么?谢谢你的帮助!你知道吗
尝试使用
agg
:输出:
尝试将组更改为列表:
在测试代码之后,您不应该执行
df['raison'] =...
,因为df.groupby('id_sin')['raison'].apply(lambda x: ', '.join(x))
的长度为2,索引与长度为4的df
不同。你知道吗相关问题 更多 >
编程相关推荐