python如何把两个dataframe合并成一个

本文介绍了Python中将两个DataFrame合并的四种方法:1.使用merge()函数,通过共享的列(主键)进行合并;2.利用append()方法,将一个DataFrame追加到另一个后面;3.应用join(),基于索引进行合并;4.concat()函数,可以沿着行或列方向连接多个DataFrame。
摘要由CSDN通过智能技术生成

1.merage

result = pd.merge(对象1, 对象2, on='key')

对象1 和 对象2分别为要合并的dataframe,key是在两个dataframe都存在的列(类似于数据库表中的主键)

2.append

result = df1.append(df2)
result = df1.append
可以使用 `pandas` 库来合并两个 Excel 文件,并保留样式。具体步骤如下: 1. 导入 `pandas` 库和 `openpyxl` 库。 ```python import pandas as pd from openpyxl import load_workbook ``` 2. 读取两个 Excel 文件,并将每个文件的每个 sheet 表格读取为一个 `pandas` 的 `DataFrame` 对象。 ```python file1 = pd.ExcelFile('file1.xlsx') file2 = pd.ExcelFile('file2.xlsx') df1 = file1.parse(file1.sheet_names[0]) # 读取第一个文件的第一个 sheet 表格 df2 = file2.parse(file2.sheet_names[0]) # 读取第二个文件的第一个 sheet 表格 ``` 3. 创建一个新的 Excel 文件,并将两个 `DataFrame` 对象写入该文件中的两个 sheet 表格中。 ```python writer = pd.ExcelWriter('merged_file.xlsx', engine='openpyxl') # 将第一个 DataFrame 对象写入第一个 sheet 表格中,并保留样式 book = load_workbook('merged_file.xlsx') writer.book = book df1.to_excel(writer, sheet_name='Sheet1', index=False) writer.sheets['Sheet1'] = book['Sheet1'] # 将第二个 DataFrame 对象写入第二个 sheet 表格中,并保留样式 df2.to_excel(writer, sheet_name='Sheet2', index=False) writer.sheets['Sheet2'] = book['Sheet2'] writer.save() ``` 完整代码如下: ```python import pandas as pd from openpyxl import load_workbook file1 = pd.ExcelFile('file1.xlsx') file2 = pd.ExcelFile('file2.xlsx') df1 = file1.parse(file1.sheet_names[0]) df2 = file2.parse(file2.sheet_names[0]) writer = pd.ExcelWriter('merged_file.xlsx', engine='openpyxl') book = load_workbook('merged_file.xlsx') writer.book = book df1.to_excel(writer, sheet_name='Sheet1', index=False) writer.sheets['Sheet1'] = book['Sheet1'] df2.to_excel(writer, sheet_name='Sheet2', index=False) writer.sheets['Sheet2'] = book['Sheet2'] writer.save() ``` 注意:上述代码中,`file1.xlsx` 和 `file2.xlsx` 是要合并两个 Excel 文件,`merged_file.xlsx` 是合并后生的新文件。如果要合并更多的 Excel 文件,只需要将读取和写入的步骤扩展即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值