我想创建一个包含用户(行),项目(列)和评分(值)的数据透视表。有些用户对许多不同的项目进行了评分。我从json文件中提取数据,并且在创建数据透视表时,我不想聚合它们。
import pandas as pd
with open('data.json', 'r') as file:
lines = file.readlines()
for line in lines:
user = splitted[0]
ratings = splitted[1]
item = splitted[4]
users.append(user)
items.append(item)
ratings.append(ratings)
df = pd.DataFrame({'Users': users,
'Items': items,
'Ratings': ratings})
数据框的输出为:
User Item Ratings
anna A 2
anna B 4
anna C 3
chris A 2
bob D 1
我希望我的数据透视表是这样的:
A B C D
anna 2 4 3 -
chris 2 - - -
bob - - - 1
运行此命令时,出现错误:“没有要聚合的数字类型”
pivot = df.pivot_table(values = 'Ratings', index = 'Users', columns = 'Items')
运行此命令时,错误是:“索引502966764超出了尺寸为502966644的轴0的范围”
pivot = df.pivot(values = 'Ratings', index = 'Users', columns = 'Items')
你能给我个主意吗?预先谢谢你!