pandas中merge函数的用法

概述

merge用来合并DataFrame或者Series。

参数

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,left_index=False,right_index=False, sort=True,suffixes=('_x','_y'), copy=True, indicator=False,validate=None)

1.left: 拼接的左侧DataFrame对象

2.right: 拼接的右侧DataFrame对象

3.on: 要加入的列或索引级别名称。 必须在左侧和右侧DataFrame对象中找到。

4.left_on:左侧DataFrame中的列或索引级别用作键。 可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。

5.right_on: 左侧DataFrame中的列或索引级别用作键。 可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。

6.left_index: 如果为True,则使用左侧DataFrame中的索引作为其连接键。 对于具有分层的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。

7.right_index: 与left_index功能相似。

8.how: **One of ‘left’, ‘right’, ‘outer’, ‘inner’. **默认inner。inner:内连接(即交集);outer:外连接(并集)。如果是其中一个DataFrame没有该索引值,则会用NaN代替。

9.sort: 按字典顺序通过连接键对结果DataFrame进行排序。 默认为True,设置为False将在很多情况下显着提高性能。

10.suffixes: 用于设置两者不同的索引值的标题。

11.copy: 始终从传递的DataFrame对象复制数据(默认为True),即使不需要重建索引也是如此。

12.indicator:将一列添加到名为_merge的输出DataFrame,其中包含有关每行源的信息。 _merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键,则为left_only。

举例说明

首先创建两个不同的DataFrame:
pandas中merge函数的用法_第1张图片


无参数和on参数的使用:
pandas中merge函数的用法_第2张图片


left_on和right_on的参数以及how参数的使用:
pandas中merge函数的用法_第3张图片
pandas中merge函数的用法_第4张图片


left_index和right_index以及suffixes参数的使用:
pd.merge()方法可以通过设置left_index或者right_index的值为True来使用索引连接。
如果两个DataFrame中都有key列,merge合并之后,pandas会自动在后面加上(_x,_y)来区分,我们也可以通过设置suffixes来设置名字。
pandas中merge函数的用法_第5张图片
希望这篇文章对大家有帮助,感谢大家的支持。

你可能感兴趣的:(pandas,python,pandas)