python - 如何将熊猫数据帧的第一个标头转换为保持相同 ID 的行
问题描述
我有一个带有两个标题的 excel 文件,如下所示:
ID Jan Feb Mar
A B A B A B
1123 10 22 233 2 4 22
1198 9 4 44 23 34 5
101 3 6 3 43 33 34
在 Pandas 中导入此 xlsx 时,如下所示
ID Jan Unnamed: 1 Feb Unnamed: 2 Mar Unnamed:3
A B A B A B
1123 10 22 233 2 4 22
1198 9 4 44 23 34 5
101 3 6 3 43 33 34
我想要在python中的输出如下
ID Date A B
1123 Jan 10 22
1198 Jan 9 4
101 Jan 3 6
1123 Feb 233 2
1198 Feb 44 23
101 Feb 3 43
.
.
解决方案
read_excel
与header=[0,1]
forMultiIndex
和ID
to index byindex_col
和 nreshape by 一起使用DataFrame.stack
:
pd.read_excel('file', header=[0,1], index_col=0).stack(0).reset_index()
推荐阅读
- gnuplot - 用 gnuplot 拟合抛物线是错误的
- c# - 使用 XmlMediaTypeFormatter 或其他反序列化的 ReadAsAsync 类
- node.js - 对 Google V2 webhook 外部 API 访问的操作
- codenameone - 代号中设备上的下拉错误
- c# - DapperPlus BulkMerge 关于插入/更新的信息
- javascript - 如何使用 reactjs 动态填充 html 内容?
- r - 将数字(年/周,例如 201501))转换为下一个更大的数字 - 在 R 中
- angular - 在 ngFor 中显示项目,在 Angular 5 中有一些延迟
- javascript - ProtractorJS 点击元素超时,有什么建议吗?
- .net-core - DiagnosticSource - DiagnosticListener - 仅适用于框架?