如何在 pandas 中执行外连接(示例)


外连接是一种连接类型,它返回两个 pandas DataFrame 中的所有行。

您可以使用以下基本语法在 pandas 中执行外连接:

 import pandas as pd

df1. merge (df2, on=' some_column ', how=' outer ')

以下示例展示了如何在实践中使用此语法。

示例:如何在 Pandas 中执行外连接

假设我们有以下两个 panda DataFrame,其中包含有关各个篮球队的信息:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                    ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'J', 'K'],
                    ' assists ': [4, 9, 14, 13, 10, 8]})

#view DataFrames
print (df1)

  team points
0 to 18
1 B 22
2 C 19
3 D 14
4 E 14
5 F 11
6 G 20
7:28 a.m.

print (df2)

  team assists
0 to 4
1 B 9
2 C 14
3 D 13
4 D 10
5K 8

我们可以使用以下代码执行外连接,根据团队列值匹配 DataFrame 之间的行,并保留两个 DataFrame 中的所有行:

 #perform outer join
df1. merge (df2, on=' team ', how=' outer ')


        team points assists
0 to 18.0 4.0
1 B 22.0 9.0
2 C 19.0 14.0
3D 14.0 13.0
4 E 14.0 NaN
5 F 11.0 NaN
6G 20.0 NaN
7 H 28.0 NaN
8 J NaN 10.0
9K NaN 8.0

结果是一个 DataFrame,其中包含每个 DataFrame 中的所有行。

请注意,如果两个 DataFrame 中都不存在团队列值,则为每行填充NaN值。

注意:您可以在此处找到合并功能的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何在 Pandas 中执行反连接
如何在 Pandas 中执行内连接
如何在 Pandas 中执行交叉连接

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注