Pandas - 合并/连接
-
简述
Pandas 具有全功能、高性能的内存连接操作,在惯用上与 SQL 等关系数据库非常相似。Pandas 提供单一功能,merge,作为 DataFrame 对象之间所有标准数据库连接操作的入口点 -在这里,我们使用了以下参数 --
left- 一个 DataFrame 对象。
-
right− 另一个 DataFrame 对象。
-
on- 要加入的列(名称)。必须在左右 DataFrame 对象中都找到。
-
left_on- 左侧 DataFrame 中用作键的列。可以是列名或长度等于 DataFrame 长度的数组。
-
right_on- 来自正确 DataFrame 的列用作键。可以是列名或长度等于 DataFrame 长度的数组。
-
left_index- 如果True,使用左侧 DataFrame 中的索引(行标签)作为其连接键。对于具有 MultiIndex(分层)的 DataFrame,级别的数量必须与来自正确 DataFrame 的连接键的数量相匹配。
-
right_index− 用法相同left_index对于正确的 DataFrame。
-
how- 'left', 'right', 'outer', 'inner'之一。默认为内部。下面描述了每种方法。
-
sort− 按字典顺序按连接键对结果 DataFrame 进行排序。默认为 True,设置为 False 在许多情况下会显着提高性能。
现在让我们创建两个不同的 DataFrame 并对其执行合并操作。它的output如下 -在一个键上合并两个 DataFrame
它的output如下 -在多个键上合并两个 DataFrame
它的output如下 - -
-
使用 'how' 参数合并
这howmerge 的参数指定如何确定要在结果表中包含哪些键。如果左表或右表中均未出现组合键,则连接表中的值将为 NA。这里是总结how选项及其 SQL 等效名称 -合并方法 SQL 等效项 描述 left 左外连接 使用左侧对象的键 right 右外连接 使用正确对象的键 outer 全外连接 使用键并集 inner 内部联接 使用键的交集 左连接
它的output如下 -右连接
它的output如下 -外连接
它的output如下 -内部联接
连接将在索引上执行。连接操作尊重调用它的对象。所以,a.join(b)不等于b.join(a).它的output如下 -