我有一个大型数据帧.我想在数据帧中对三列进行分组,然后将函数应用于每个组.但是,我也对一些不在数据帧中的组和键感兴趣.如何将这些添加到groupby对象,所以我可以在所有组上统一使用groupby.apply()?
解决方法:
我想我可能会在事后重新索引:
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