Python 使用一列中的两个键从Pandas保存到excel
我正在使用pandas创建一个数据框架并将其写入excel。我在pandas中有多个键,当我写入excel时,每个键都会成为工作表中的一列。我想要的是列中主列名下的两个键。例如:Python 使用一列中的两个键从Pandas保存到excel,python,python-3.x,excel,pandas,dataframe,Python,Python 3.x,Excel,Pandas,Dataframe,我正在使用pandas创建一个数据框架并将其写入excel。我在pandas中有多个键,当我写入excel时,每个键都会成为工作表中的一列。我想要的是列中主列名下的两个键。例如: import pandas as pd df = pd.DataFrame({"A": [], "B": [], "C_1": [], "C_2": []}) df = df.append({"A": 1, "
import pandas as pd
df = pd.DataFrame({"A": [], "B": [], "C_1": [], "C_2": []})
df = df.append({"A": 1, "B": 2, "C_1": 3, "C_2": 4})
writer = pd.ExcelWriter("data.xlsx", engine='xlsxwriter')
df.to_excel(writer, index=False)
writer.save()
上述代码在excel文件中生成下表
| A | B | C_1 | C_2 |
---------------------
| 1 | 2 | 3 | 4 |
但是,键C_1
和C_2
是键C
的子分区,我的预期输出是
| A | B | C |
| | | C_1 | C_2 |
---------------------
| 1 | 2 | 3 | 4 |
我已经看过了,它实现了我想要的功能,但我不确定如何将它与没有子分区的列(如
A
)混合使用。我怎样才能做到这一点?非常感谢您的帮助。我不知道是否有帮助,但您可以尝试创建如下多级列:
cols = [(i.split('_')[0],i) if len(i.split('_'))>1 else (i,'') for i in df.columns]
df.columns = pd.MultiIndex.from_tuples(cols)
你还卡住了吗?
A B C
C_1 C_2
0 1.0 2.0 3.0 4.0