python - 如何使用 Python 将列值转换为行标题?
问题描述
我需要将列值转换为 python 中的标题。
testdf = {'Student_id':['10001','10001','10001','20001','20001','30001','30001','30001'],
'Subject':['S1','S2','S3','S1','S2','S1','S2','S3'],
'Mark':['80','60','70','50','70','90','80','40']
}
testdf = pd.DataFrame(data=testdf)
testdf
我想要一张像
当我尝试下面的代码时
testdf.pivot(index="Student_id",columns="Subject")
我得到如下:
解决方案
添加参数values
并DataFrame.pivot
在必要时进行数据清理 -DataFrame.rename_axis
用于删除列名称和DataFrame.reset_index
列来自index
:
df = (testdf.pivot(index="Student_id",columns="Subject", values='Mark')
.rename_axis(None, axis=1)
.reset_index())
print (df)
Student_id S1 S2 S3
0 10001 80 60 70
1 20001 50 70 NaN
2 30001 90 80 40
推荐阅读
- python - 为什么在这个 python 代码中迭代在 995 处终止?问题4项目欧拉
- angular - 角度动态模板加载
- node.js - 使用任意文件 npm 和 SFTP 的 AWS s3 存储桶到 ec2 文件传输
- multithreading - 使用 peach 时,随机状态如何传播到不同的线程?
- c++ - 为什么不将 shared_ptr to Derived 隐式转换为 shared_ptr to Base
- r - 使用 read_excel 和缺失值在 R 中导入数据
- javascript - 如何在 React 中单击按钮时从服务器转储数据?
- java - java.util.Function源码通配符边界使用理解
- java - Gradle 多项目测试依赖项在 Eclipse 中不再适用于 Gradle 6.7
- sql - 如何通过 Azure 中的自托管集成运行时(链接服务)连接到本地 sql server?