我想创建一个包含用户(行)、项目(列)和评级(值)的数据透视表。有些用户对许多不同的项目进行了评分。我从 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 超出轴 0 的范围,大小为 502966644”
pivot = df.pivot(values = 'Ratings', index = 'Users', columns = 'Items')
你能给我任何想法吗?先感谢您!