熊猫0.25.0:按类别归类

时间:2019-08-19 14:58:03

标签: pandas pandas-groupby

我在使用上个月发布的Pandas 0.25.0时遇到了一些困难。

考虑此日期范围:

df = pd.DataFrame({
    'A': pd.Series(['a', 'b', 'b', 'a'], dtype='category'),
    'B': pd.Series(['m', 'o', 'o', 'o']),
    'C': pd.Series([1, 2, 3, 4]),
})

假设我们要在前两列进行分组。结果数据框应包含3行,因为组合b m不存在。

df.groupby(['A', 'B']).agg({'C': 'sum'})

在Pandas 0.24.1和更早版本中,这可以正常工作:

     C
A B   
a m  1
  o  4
b o  5

但是,在Pandas 0.25.0中,它已损坏:

       C
A B     
a m  1.0
  o  4.0
b m  NaN
  o  5.0

我知道我可以通过将observed=True添加到groupby调用中来抑制这种有害行为,但这在旧版本中不是必需的。我在release notes中找不到任何相关内容。

为什么?这是熊猫中的虫子吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

感谢comment of ALollz,我想我知道发生了什么事

(不知不觉中)我依靠0.24中的一个错误,这就是为什么将0.25更新到我的代码的原因。