【问题标题】:Pandas Pivot_table KeyErrorPandas Pivot_table KeyError
【发布时间】:2018-11-30 06:58:42
【问题描述】:

我的数据如下所示;

  'userID'  'songID'  'rating'
0         0      7171         5
1         0      8637         4
2         0     21966         4
3         0     35821         5
4         0     82446         5

我的代码如下是为了创建一个数据透视表;

ratings = pd.pivot_table(data,
                         index="userID",
                         columns="songID",
                         values="rating")

我收到了KeyError:'rating'

我检查了其他答案,其中大多数建议.reset_index(),,但没有奏效。我不断收到同样的错误。

有解决这个问题的建议吗?

提前致谢。

【问题讨论】:

  • KeyError 表示没有列rating,用print (data.columns.tolist())测试一下
  • 我得到了这个输出; ["'userID'", "'songID'", "'rating'"]
  • 另外,检查“values”列的类型是否相同。 pd.melt 可以创建一个包含数字和字符值的列。

标签: python pandas pivot-table keyerror


【解决方案1】:

列名有问题:

print (data.columns.tolist())
["'userID'", "'songID'", "'rating'"]

您可以通过strip traling '

ratings.columns = ratings.columns.str.strip("'")
ratings = pd.pivot_table(data, index = "userID", columns = "songID", values = 'rating')

【讨论】:

    【解决方案2】:

    你的专栏有额外的quotation mark 'xx'。因此,如果您想保留它,请使用以下

    ratings = pd.pivot_table(df, index = "'userID'", columns = "'songID'", values = "'rating'")
    

    【讨论】:

      猜你喜欢
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2019-06-30
      • 2018-08-01
      相关资源
      最近更新 更多