【问题标题】:Pandas pd.pivot_table gives a KeyErrorPandas pd.pivot_table 给出 KeyError
【发布时间】:2019-01-30 14:35:42
【问题描述】:

我有一个带有 4 列 'year''cath1''cath2''cath3'df 数据框 和2000个对应产品的条目,对应的生产年份,每3个类别一个值。

我想创建另一个具有相同 3 个类别列的数据框,并计算每个类别中每个特定年份的所有产品的平均值。

我尝试了以下代码,但它不起作用。

df1=pd.pivot_table(df,index=['year'],values=['0','1','2'],aggfunc=np.mean)
Exception has occurred: KeyError '0'

【问题讨论】:

  • 请分享数据框
  • KeyError '0' 表示您既没有标签为“0”的行索引,也没有标签为“0”的列标题。

标签: python pandas dataframe keyerror


【解决方案1】:

您的代码是正确的,但您需要在值中使用列名。

df_pivot = pd.pivot_table(df, index=['year'], values=['cath1', 'cath2','cath3'],
                          aggfunc=np.mean)

【讨论】:

  • 我的列表(df)实际上是:['year', 0, 1, 2]
  • 最好为您的列命名。在旋转 df.columns = ['Datec', 'year', 'cath1', 'cath2', 'cath3'] 之前试试这个
  • 还有@yatu 点,在提问时分享几行数据总是好的,这样人们就可以复制你的结果。
  • 你说得对,我更改了标题,现在一切正常。谢谢。
猜你喜欢
  • 2022-01-26
  • 2019-11-10
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 2022-01-03
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多