我的数据如下所示;
'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(),
,但没有用。我不断收到相同的错误。
是否有解决此问题的建议?
谢谢。
答案 0 :(得分:1)
列名存在问题:
print (data.columns.tolist())
["'userID'", "'songID'", "'rating'"]
您可以通过以下方式strip
来'
:
ratings.columns = ratings.columns.str.strip("'")
ratings = pd.pivot_table(data, index = "userID", columns = "songID", values = 'rating')
答案 1 :(得分:1)
您的列周围有多余的quotation mark 'xx'
。因此,如果您想保留它,请使用以下
ratings = pd.pivot_table(df, index = "'userID'", columns = "'songID'", values = "'rating'")