Nic*_*s H 6 python-3.x pandas pandas-groupby
我有一个数据框看起来像
userId movieId rating
0 12882 1 4.0
1 12882 32 3.5
2 12882 47 5.0
3 12882 50 5.0
4 12882 110 4.5
Run Code Online (Sandbox Code Playgroud)
但我想将其转换为一个矩阵,其中行名是 userId,列名是 movieId,值是评级。
1 32 47
12882 4.0 3.5 5.0
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 groupby,但之后我不知道如何转换它。
test = Ratings[['userId','movieId','rating']]
test_group = test.groupby(['userId','movieId'],as_index=False,sort=False)
Run Code Online (Sandbox Code Playgroud)
您可以DataFrame.pivot为此使用:
df_pivot = df.pivot(index='userId', columns='movieId', values='rating')
Run Code Online (Sandbox Code Playgroud)
[出去]
print(df_pivot)
movieId 1 32 47 50 110
userId
12882 4.0 3.5 5.0 5.0 4.5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1688 次 |
| 最近记录: |