【问题标题】:How to convert data.frame into matrix based on two columns in data.frame [duplicate]如何根据data.frame中的两列将data.frame转换为矩阵[重复]
【发布时间】:2019-09-09 21:11:00
【问题描述】:

我有一个数据框看起来像

    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)


【问题讨论】:

    标签: python-3.x pandas pandas-groupby


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 2019-09-11
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多