如何在pandas groupby中将数据框行分组为列表 [英] How to group dataframe rows into list in pandas groupby
本文介绍了如何在pandas groupby中将数据框行分组为列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个熊猫数据框 df
如:
I have a pandas data frame df
like:
a b
A 1
A 2
B 5
B 5
B 4
C 6
我想按第一列分组,然后将第二列作为行中的列表:
A [1,2]
B [5,5,4]
C [6]
是否可以使用pandas groupby来做类似的事情?
Is it possible to do something like this using pandas groupby?
推荐答案
您可以使用 groupby
对感兴趣的列进行分组,然后应用
列出
到每个组:
You can do this using groupby
to group on the column of interest and then apply
list
to every group:
In [1]: df = pd.DataFrame( {'a':['A','A','B','B','B','C'], 'b':[1,2,5,5,4,6]})
df
Out[1]:
a b
0 A 1
1 A 2
2 B 5
3 B 5
4 B 4
5 C 6
In [2]: df.groupby('a')['b'].apply(list)
Out[2]:
a
A [1, 2]
B [5, 5, 4]
C [6]
Name: b, dtype: object
In [3]: df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
df1
Out[3]:
a new
0 A [1, 2]
1 B [5, 5, 4]
2 C [6]
这篇关于如何在pandas groupby中将数据框行分组为列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文