我对 python/pandas 很陌生,我有一个看起来像这样的数据框:
id name color
id_1 alex blue
id_2 james yellow
id_1 sara black
id_4 dave pink
id_4 lin grey
id_2 aly red
我想按 id 分组并以列表形式获取其他两列中的值:
id name color
id_1 [alex,sara] [blue,black]
id_2 [james,aly] [yellow,red]
id_4 [dave,lin] [pink,grey]
有没有简单的方法可以做到这一点?
Use groupby http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html and agg http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.DataFrameGroupBy.agg.html通过自定义函数tolist
:
df = df.groupby('id').agg(lambda x: x.tolist())
print (df)
name color
id
id_1 [alex, sara] [blue, black]
id_2 [james, aly] [yellow, red]
id_4 [dave, lin] [pink, grey]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)