这个问题在这里已经有了答案:
How to group dataframe rows into list in pandas groupby
(15 个回答)
2年前关闭。
我确定之前已经问过这个问题,如果重复,抱歉。假设我有以下数据框:
df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],
'data': range(6)}, columns=['key', 'data'])
>>
key data
0 A 0
1 B 1
2 C 2
3 A 3
4 B 4
5 C 5
对“key”进行分组,
df.groupby('key').sum()
我知道我们可以做这样的事情:>>
data
key
A 3
B 5
C 7
获取数组中所有“拆分”数据的最简单方法是什么?:
>>
data
key
A [0, 3]
B [1, 4]
C [2, 5]
我不一定只按一个键分组,但也有其他几个索引(例如“年”和“月”),这就是为什么我想使用 groupby 函数,但保留所有分组的值大批。
最佳答案
您可以使用 apply(list)
:
print(df.groupby('key').data.apply(list).reset_index())
key data
0 A [0, 3]
1 B [1, 4]
2 C [2, 5]
关于pandas:获取数组中的所有 groupby 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55125680/