一、含义
Excel中有一个纵向查找函数-vlookup,python对应为pandas库中的pd.merge函数,用于合并两个数据集。
二、主要参数
其主要参数有left、right、how、on、left_on、right_on、left_index、right_index、sort、suffixes、copy、indicator。
参数说明
-
left:合并的左边数据集(DataFrame或Series)。
-
right:合并的右边数据集(DataFrame或Series)。
-
how:合并的方式
-
1. 'inner',表示取两个数据集的交集,默认值;
-
2. 'outer',取两个数据集的并集
-
3. 'left',取左边数据集的所有数据,右边数据集中没有的用NaN填充
-
4. 'right' 取右边数据集的所有数据,左边数据集中没有的用NaN填充
-
-
on:指定进行合并的列名。如果左右数据集的列名相同,则可以只指定一个字符串。如果列名不同,可以传入一个列表,左右数据集的列名要按顺序对应。
-
left_on、right_on:分别用于合并时左右数据集列名不同时使用,指定左右数据集的列名。
-
left_index、right_index:分别指示左右数据集是否使用索引进行合并。
-
sort: 按字典顺序通过连接键对结果DataFrame进行排序。 默认为True,设置为False将在很多情况下显着提高性能。
-
suffixes: 用于重叠列的字符串后缀元组。 默认为(‘x’,’ y’)
-
copy: 始终从传递的DataFrame对象复制数据(默认为True),即使不需要重建索引也是如此。
-
indicator: 将一列添加到名为_merge的输出DataFrame,其中包含有关每行源的信息。 _merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键,则为left_only。
-
三、代码演示
-
import pandas as pd # 创建两个数据集 df1 = pd.DataFrame({'name': ['A', 'B', 'C'], 'value': [1, 2, 3]}) df2 = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]}) # 使用pd.merge进行合并,删掉重复列 merged = pd.merge(df1, df2, left_on='name', right_on = 'key').drop('key',axis=1) # 输出合并结果 print(merged)