我确定已经有人问过这个问题,如果重复的话,对不起。假设我有以下数据框:
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函数,但保留所有分组的原因数组中的值。
答案 0 :(得分:3)
您可以使用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]