Pandas DataFrame.join()

2024 年 8 月 29 日 | 4 分钟阅读

当我们想要连接我们的 DataFrames 时,我们可以通过垂直或并排堆叠的方式将它们相互添加。组合这些 DataFrames 的另一种方法是使用每个数据集中包含公共值的列。使用公共字段组合 DataFrame 的方法称为“连接”。我们用于组合 DataFrame 的方法是 join() 方法。包含公共值的列称为“连接键”。

当一个 DataFrame 是一个查找表,其中包含添加到另一个 DataFrame 中的额外数据时,join() 方法通常很有用。它是一种方便的方法,可以将两个不同索引的 DataFrames 的列组合成一个 DataFrame。

识别连接键

要确定适当的连接键,首先,我们必须定义 DataFrames 之间共享的必需字段。两个 DataFrames 都由具有相同名称并且还包含相同数据的列组成。

内连接

内连接可以定义为最常用的连接。基本上,它的主要任务是基于连接键组合两个 DataFrames,并返回一个新的 DataFrame。返回的 DataFrame 仅包含在原始 DataFrame 中都具有匹配值的选定行。

左连接

如果我们想在不丢失任何数据的情况下向 DataFrame 添加一些信息,我们可以简单地通过一种不同的连接类型来完成,称为“左外连接”或“左连接”。

与内连接类似,左连接也使用连接键来组合两个 DataFrames,但与内连接不同,它返回左侧 DataFrame 中的所有行,即使是那些连接键不包含右侧 DataFrame 中的值的行。

语法

参数

other: 指的是 DataFrame 或 Series。

在这种情况下,索引应与其中一列相似。如果我们传递一个 Series,则必须设置 named 属性,以便在生成的连接 DataFrame 中将其用作列名。

on: 这是一个可选参数,指的是类数组str 值。

它指的是调用者中的列或索引级别名称,以连接索引。 否则,它连接 index-on-index。 如果存在多个值,则other DataFrame 必须具有 MultiIndex。 它就像一个 Excel VLOOKUP 操作,如果连接键尚未包含在调用 DataFrame 中,则可以传递一个数组作为连接键。

how: 指的是“left”、“right”、“outer”、“inner”值,主要作用于如何处理两个对象的操作。 how 的默认值为 left

  • left: 如果指定了参数 on,则使用调用帧的索引或列。
  • right: 它使用另一个索引。
  • outer: 它用于形成调用帧的索引或列的并集(如果指定了参数 on),以及另一个索引,并按字典顺序对其进行排序。
  • inner: 它用于形成调用帧的索引或列的交集(如果指定了参数 on),以及另一个索引。 因此,由于这个原因,它保留了调用对象的顺序。

lsuffix: 它指的是一个字符串对象,其默认值为 ''。 它使用来自左侧帧的重叠列的后缀。

rsuffix: 它指的是一个字符串值,其默认值为 ''。 它使用来自右侧帧的重叠列的后缀。

sort: 它由一个布尔值组成,该值按连接键的字典顺序对生成的 DataFrame 进行排序。 如果我们传递 False 值,则连接键的顺序主要取决于连接类型,即 how

示例: 以下示例显示了 join() 函数的工作原理。

输出

    key  A   B
0   K0   A0  B0
1   K1   A1  B1
2   K2   A2  B2
3   K3   A3  NaN
4   K4   A4  NaN
5   K5   A5  NaN

示例 2: 以下示例连接了两个 MultiIndexes

输出

			value
xyz	pq	num	
x	p	1	0
2	1
q	1	2
2	3
y	p	1	4
2	5
q	1	6
2	7
z	p	1	8
2	9
q	1	10
2	11

下一主题DataFrame.mean()