python - 如何根据熊猫数据框中的行和列分隔条目
问题描述
我有一个看起来像这样的数据框:
'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
我是熊猫的新手,想知道如何在不遍历所有条目的情况下做到这一点。
解决方案
你可以得到它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
推荐阅读
- webpack - 为什么 [name] 在 Webpack 的 MiniCssExtractPlugin 中总是主要的?
- clojure - Clojure:找不到类的编解码器
- keyboard - 使用 xcb xtest 生成按键
- python - 如何使用 python 从 sqlite BLOB 字段创建 WAV 文件
- mips - 加载程序时如何修复 QTSPIM 中的 MIPS 程序解析器错误
- python-3.x - 命令后的Python 3 Tkinter关闭框架
- crystal-reports - 带有if条件的水晶报表求和公式
- python - 解密 RSA 会话密钥的正确方法
- r - 如何遍历R中所有可能的因子水平比较
- python - 将正弦应用于矩阵的快速方法