如何将两个多列DataFrame合并为单个两列DataFrame?
合并两个DataFrame并匹配对应单元格
数据结构说明
先明确你的两个工作表结构:
Sheet1:
Column A Column B Sample1 Sample2 Sample3 Sample4 Sheet2:
Column A Column B abcd efgh ijkl mnop
目标是将对应位置的单元格一一匹配,最终生成两列的DataFrame。
解决代码(基于Pandas)
1. 读取数据
首先导入Pandas并读取两个工作表:
import pandas as pd # 替换为你的Excel文件路径 file_path = "your_file.xlsx" df1 = pd.read_excel(file_path, sheet_name="Sheet1") df2 = pd.read_excel(file_path, sheet_name="Sheet2")
2. 转换为长格式并合并
将两个宽格式的DataFrame转为长格式,利用位置索引保证对应单元格匹配:
# 将两个DataFrame都转为一维序列,保留原始位置顺序 samples = df1.unstack().reset_index(drop=True).rename("Sample") values = df2.unstack().reset_index(drop=True).rename("Value") # 合并为最终的两列DataFrame merged_df = pd.concat([samples, values], axis=1)
3. 保存结果
将合并后的数据写入新的Excel文件:
merged_df.to_excel("merged_result.xlsx", index=False)
最终结果
运行后得到的merged_df结构如下:
| Sample | Value |
|---|---|
| Sample1 | abcd |
| Sample2 | efgh |
| Sample3 | ijkl |
| Sample4 | mnop |
内容的提问来源于stack exchange,提问作者Pluto Liu
相关产品推荐
相关产品推荐

