如何基于data.frame中的两列将data.frame转换为矩阵

时间:2019-04-19 15:56:33

标签: 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

但是我想将其转换为行名称为userId,列名称为movieId且值为等级的矩阵。

         1    32      47
12882   4.0   3.5     5.0

我尝试使用groupby,但是之后,我不知道如何转换它。

test = Ratings[['userId','movieId','rating']]

test_group = test.groupby(['userId','movieId'],as_index=False,sort=False)


1 个答案:

答案 0 :(得分:1)

您可以为此使用DataFrame.pivot

df_pivot = df.pivot(index='userId', columns='movieId', values='rating')

[出]

print(df_pivot)

movieId  1    32   47   50   110
userId                          
12882    4.0  3.5  5.0  5.0  4.5