Pandas python使用空组初始化groupby对象

时间:2014-09-04 02:48:29

标签: python csv pandas

我有一个大型数据框。我想在数据帧中对三列进行分组,然后将函数应用于每个组。但是,我也对一些不在数据框中的组和密钥感兴趣。如何将这些添加到groupby对象中,因此我可以在所有组上统一使用groupby.apply()

1 个答案:

答案 0 :(得分:4)

我想我可能会在事后重新索引:

In [11]: df = pd.DataFrame([[1, 2, 3], [2, 1, 6], [2, 2, 9]], columns=['A', 'B', 'C'])

In [12]: s = df.groupby(['A', 'B']).sum()

In [13]: s
Out[13]:
     C
A B
1 2  3
2 1  6
  2  9

例如,这里s没有(1,1)的结果。我们可以使用MultiIndex.from_product提供“总计”索引(或者,如果您单独使用,则输入该数据):

In [14]: m = pd.MultiIndex.from_product([[1, 2], [1, 2]], names=['A', 'B'])

In [15]: s.reindex(m)
Out[15]:
      C
A B
1 1 NaN
  2   3
2 1   6
  2   9