我有一个看起来像这样的数据框:
'0' '1' '2'
0 5 4 0
1 3 0 0
2 1 0 2
其中列的名称 ('0', '1', '2', ...) 表示用户 ID,索引表示电影 ID,每个条目表示用户对该电影的评分。我想根据前一个数据框制作一个新的数据框,如下所示:
user_id movie_id rating
0 0 0 5
1 0 1 3
2 0 2 1
3 1 0 4
4 1 1 0
5 1 2 0
6 2 0 0
7 2 1 0
8 2 2 2
我是 Pandas 的新手,想知道如何在不遍历所有条目的情况下做到这一点。
最佳答案
您可以通过 stack()
获得它,然后 reset_index()
:
df = df.stack().reset_index()
df.columns = ['user_id','movie_id','rating']
print(df)
user_id movie_id rating
0 0 0 5
1 0 1 4
2 0 2 0
3 1 0 3
4 1 1 0
5 1 2 0
6 2 0 1
7 2 1 0
8 2 2 2
关于python - 如何根据pandas数据框中的行和列分隔条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65525023/