Pandas复杂excel转置合并

需求

预期结果:
image.png
实际结果:
image.png

一、读取数据

1、读取第一个表数据
import pandas as pd

#读取并筛选第一个表
df1 = pd.read_excel("第一个表.xlsx")
#删除无用列
df1 = df1[["股票代码","高数","实际2"]].copy()
print(df1)
image.png
2、读取第二个表数据

主要用到transpose做横竖转换,方便处理

df2 = pd.read_excel("第二个表.xlsx")
image.png

三、设置index,并转置

df2.set_index("Unnamed:0",inplace = True)
print(df2.head())
image.png

转置

df2 = df2.transpose()
print(df2)
image.png

四、数据合并

df2["股票代码"] = df2["股票代码"].astype(int)
df_merge = pd.merge(left=df2,right=df1,left_on="股票代码",right_on="股票代码")
image.png

五、重新对列排序

columns = list(df_merge.columns)
columns.remove("高数")
columns.remove("实际2")
columns.insert(columns.index("结果"),"高数")
columns.insert(columns.index("结果"),"实际2")
print(columns)
image.png

六、筛选列,转置数据

df_result = df_merge[columns].transpose()
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。