重塑Pandas中的数据帧

2024-10-03 06:25:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有多个标头的数据帧,设置如下。我想把行和列合并成一行。有什么建议吗?我能扳倒一个头球,但不能再扳倒更多

代码

import pandas as pd
from pandas import ExcelWriter

df  = pd.read_csv('Sample_Cookbook4.csv',header=[0,1],index_col=[0])
df = df.stack(dropna=False)
df.index = df.index.get_level_values(0) + df.index.get_level_values(1)
df = df.reset_index()
print(df)

当前数据帧

                  Header1     |        Header2      |
           xxx1|xxx2|xxx3|xxx4||xxx1|xxx2|xxx3|xxx4||xxx1|xxx2|xxx3|xxx4 |
ColX|ColY |ColA|ColB|ColC|ColD||ColD|ColE|ColF|ColG||ColH|ColI|ColJ|ColDK|
1   | ds  | 1  |    |+1  |-1  | .......................................
2   | dh  |  ..........................................................
3   | ge  |  ..........................................................
4   | ew  |  ..........................................................
5   | er  |  ..........................................................

输出

ds-标题1-xx1-可乐:1

ds-标题1-xx2-ColB:“”

ds-标题1-xx2-ColB:-1


Tags: csv数据import标题pandasdfgetindex