将两个DataFrame合并并且保存到同一个xlsx的不同sheet中

来源:互联网 发布:思迅天店软件登录 编辑:程序博客网 时间:2024/06/03 23:15

例如c是这个:

 ageweighthigh015100167118120178d是这个:

 ageweighthigh324134175435140180其中c和d有相同的columns,让他们合并,代码:

import pandas as pd
c=pd.DataFrame([[15,100,167],[18,120,178]],columns=['age','weight','high'])
d=pd.DataFrame([[24,134,175],[35,140,180]],columns=['age','weight','high'],index=[3,4])

X=[c,d]
Z=pd.concat(X)


合并后的Z展示为:

 ageweighthigh015100167118120178324134175435140180

但是,如果两个DataFrame的columns不同时候:

如e:

 ageweighthighsalary015100167100118120178200

和f:

 ageweighthigh324134175435140180

在这个里面e比f多个salary,合并方法也一样:

e=pd.DataFrame([[15,100,167,100],[18,120,178,200]],columns=['age','weight','high','salary'])
f=pd.DataFrame([[24,134,175],[35,140,180]],columns=['age','weight','high'],index=[3,4])

Y=[e,f]
A=pd.concat(Y)

合并后的A为:

 agehighsalaryweight015167100100118178200120324175 134435180 140

注:在dataframe中的NAN在xlsx中是没有显示的

下面将五个DataFrame保存到同一个xlsx中的不同的sheet中,代码如下:

All=[c,d,Z,e,f,A]
writer = pd.ExcelWriter('d:/c.xlsx')
for i in range(6):
    All[i].to_excel(writer,sheet_name='sheet'+str(i))
writer.save()




阅读全文
0 0