python pandas 实现excel列的合并

一、合并的使用介绍
1、使用场景:
批量合并相同格式的Excel、给DataFrame添加行、给DataFrame添加列
1
2、一句话说明concat语法:
使用某种合并方式(inner/outer)
沿着某个轴向(axis=0/1)
把多个Pandas对象(DataFrame/Series)合并成一个。
1
2
3
3、concat语法:pandas.concat(objs, axis=0, join=‘outer’, ignore_index=False)
objs:一个列表,内容可以是DataFrame或者Series,可以混合
axis:默认是0代表按行合并,如果等于1代表按列合并
join:合并的时候索引的对齐方式,默认是outer join,也可以是inner join
ignore_index:是否忽略掉原来的数据索引
1
2
3
4
4、append语法:DataFrame.append(other, ignore_index=False)
append只有按行合并,没有按列合并,相当于concat按行的简写形式
other:单个dataframe、series、dict,或者列表
ignore_index:是否忽略掉原来的数据索引
1
2
3
二、使用pandas.concat合并数据
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3'],
                    'E': ['E0', 'E1', 'E2', 'E3']
                   })
df2 = pd.DataFrame({ 'A': ['A4', 'A5', 'A6', 'A7'],
                     'B': ['B4', 'B5', 'B6', 'B7'],
                     'C': ['C4', 'C5', 'C6', 'C7'],
                     'D': ['D4', 'D5', 'D6', 'D7'],
                     'F': ['F4', 'F5', 'F6', 'F7']
                   })
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
df1

df2


1、默认的concat,参数为axis=0、join=outer、ignore_index=False
pd.concat([df1,df2])
1


2、使用ignore_index=True可以忽略原来的索引
pd.concat([df1,df2], ignore_index=True)
1


3、使用join=inner过滤掉不匹配的列
pd.concat([df1,df2], ignore_index=True, join="inner")
1


4、使用axis=1相当于添加新列
df1


5、添加一列Series
s1 = pd.Series(list(range(4)), name="F")
pd.concat([df1,s1], axis=1)
1
2


6、添加多列Series
s2 = df1.apply(lambda x:x["A"]+"_GG", axis=1)
1
s2


s2.name="G"
pd.concat([df1,s1,s2], axis=1)
1
2


# 列表可以只有Series
pd.concat([s1,s2], axis=1)
1
2


# 列表是可以混合顺序的
pd.concat([s1,df1,s2], axis=1)
1
2


三、使用DataFrame.append按行合并数据
df1 = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
df1
1
2


df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
df2
1
2


1、给1个dataframe添加另一个dataframe
df1.append(df2)
1


2、忽略原来的索引ignore_index=True
df1.append(df2, ignore_index=True)
1


3、可以一行一行的给DataFrame添加数据
# 一个空的df
df = pd.DataFrame(columns=['A'])
df
1
2
3


4、低性能版本
for i in range(5):
    # 注意这里每次都在复制
    df = df.append({'A': i}, ignore_index=True)
df
1
2
3
4


5、性能好的版本
# 第一个入参是一个列表,避免了多次复制
pd.concat(
    [pd.DataFrame([i], columns=['A']) for i in range(5)],
    ignore_index=True
)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用python中的pandas库,通过读取excel文件,并使用merge函数合并。具体步骤为: 1. 使用pandas的read_excel函数读取需要合并excel文件,并转化为dataframe类型。 2. 使用merge函数将需要合并的dataframe进行合并,根据合并所需的关键,在on参数中指定。 3. 将合并后的结果保存为需要的格式,如excel文件。 例子: ```python import pandas as pd # 读取需要合并excel文件 df1 = pd.read_excel('file1.xlsx') df2 = pd.read_excel('file2.xlsx') # 合并 merged_df = pd.merge(df1, df2, on='key_column') # 保存为excel merged_df.to_excel('merged_file.xlsx', index=False) ``` 其中,key_column为需要合并的关键。 ### 回答2: Pandas是一个扩展的Python库,它提供了许多功能来进行数据操作,其中包括对Excel数据的合并Pandas的merge()函数提供了一种将多个Excel数据表合并为一个数据表的方法。下面是如何使用Pandas库进行Excel数据表的合并操作的步骤。 1.导入Pandas库:首先,必须导入Pandas和NumPy库。Pandas库将用于数据分析和处理,而NumPy库将用于数组操作。 import pandas as pd import numpy as np 2.读入Excel文件:将要合并的所有Excel文件读入到Pandas DataFrame中。可以使用read_excel方法读入数据。将excel文件读入为数据框。 df1=pd.read_excel("文件路径1") df2=pd.read_excel("文件路径2") 3.合并Excel文件:使用Pandas的merge()函数将两个DataFrame合并为一个。可以使用类似于SQL inner join,left join,right join和outer join的类型来进行合并。使用merge()函数完成合并。 merged_df=pd.merge(df1,df2,on="id",how="outer") 上述代码中,id是两个数据框共有的行,outer join表示合并两个数据框并保留所有行,以最长的数据框中的行为准。结果merged_df包含合并数据。 4.保存数据:最后,我们可以通过to_excel()函数将合并的数据保存为新Excel文件。 merged_df.to_excel("合并后的文件路径") 总之,使用Pandas的merge()函数可以非常方便地将多个Excel数据表合并为一个数据表,这将大大简化数据操作,提高数据分析的效率。 ### 回答3: PandasPython数据处理的一个强大工具,可用于读取、写入、合并和处理各种数据格式,包括Excel文件。在Pandas中,merge是一种合并数据的方法,可以在不同的DataFrame之间共享相同的名,并将它们合并成一张表。 要在Pandas合并Excel文件,需要首先加载Excel文件,使用Pandas库的read_excel函数可以读取Excel文件,它将Excel文件读取为Pandas DataFrame。 例如: import pandas as pd file1 = pd.read_excel('file1.xlsx') file2 = pd.read_excel('file2.xlsx') 此时可以使用merge函数将两个DataFrame对象进行合并。需要注意的是,在进行merge操作之前需要确认两个DataFrame中需要合并名,这样才能确保merge操作的正确性。 例如,合并file1和file2的'Student ID': merged_file = pd.merge(file1, file2, on='Student ID') 此时合并后的DataFrame将包含file1和file2中的所有行,并且只保留包含共同的'Student ID'的行。如果有名称不同的需要合并,可以使用left_on和right_on。 例如: merged_file = pd.merge(file1, file2, left_on='ID', right_on='Student ID') 在合并之后,可以使用to_excel方法将合并后的结果写入一个新的Excel文件中,代码如下: merged_file.to_excel('merged_file.xlsx',index=False) 可以设置index参数将DataFrame中的索引排除在输出文件之外,这是为了减轻文件大小并避免任何可能的索引问题。 总的来说,Pandas库的merge方法使合并Excel文件变得非常简单和容易,在任何需要合并多个Excel文件或多个DataFrame的情况下,这些步骤都是非常实用和有用的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字化信息化智能化解决方案

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值