大熊猫:获取数组中的所有分组依据值

时间:2019-03-12 15:51:45

标签: pandas pandas-groupby split-apply-combine

我确定已经有人问过这个问题,如果重复的话,对不起。假设我有以下数据框:

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函数,但保留所有分组的原因数组中的值。

1 个答案:

答案 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]