【问题标题】:AttributeError: Cannot access callable attribute 'groupby' of 'DataFrameGroupBy' objectsAttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“groupby”
【发布时间】:2018-11-21 05:58:29
【问题描述】:

我有一个包含 3 列的数据框 -

我想通过执行这样的操作根据筷子长度对列进行分组 -

meansByCL = df_chopstick.groupby('Chopstick.Length')['Food.Pinching.Efficiency'].mean().reset_index()

但这会引发错误 -

AttributeError: Cannot access callable attribute 'groupby' of 'DataFrameGroupBy' objects, try using the 'apply' method

我不确定这个错误是什么意思。谁能告诉我我做错了什么或如何以不同的方式编写此代码?

【问题讨论】:

  • 你的df_chopstick是什么,好像已经是groupby对象了
  • @KevinFang df_chopstick 是附加的图像。对不同筷子长度(180-240)和不同个体(1-31)有Food.Pinching.Efficiency。
  • 请仔细检查是否在其他地方进行了修改。当我调用df.groupby().groupby() 时,我可以重现此错误
  • 没关系!发现我做错了什么。我在 Jupyter notebook 的前一个单元格中分配了df_chopstick = df_chopstick.groupby('Chopstick.Length')

标签: python pandas dataframe pandas-groupby


【解决方案1】:

当您尝试 groupby() 之前已经分组的数据框时,会发生这种情况!

【讨论】:

  • ...解决方法是用unstack()reset_index()取消组合
  • unstack /reset_index 什么时候?前?后?期间?
【解决方案2】:

就我而言,我已经完成了 groupby,但这不是必需的。我需要使用原始数据集并对其进行索引(而不是对其进行分组)。 所以删除 groupby 并在下面使用 set_index。
是的,问题是 groupby 已经完成了,你不能再 groupby 了。

df.set_index(['ColA','ColB'])

【讨论】:

    猜你喜欢
    • 2018-11-01
    • 2019-01-17
    • 2021-07-03
    • 1970-01-01
    • 2020-05-07
    • 2018-03-14
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多