我有一个大数据框。我想对数据框中的三列进行分组,然后对每个组应用一个函数。但是,我也对一些不在数据框中的组和键感兴趣。我如何将它们添加到 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
关于python - Pandas python用空组初始化groupby对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25656564/