如何在 pandas 中进行内连接(举例)
您可以使用以下基本语法在 pandas 中执行内部联接:
import pandas as pd df1. merge (df2, on=' column_name ', how=' inner ')
以下示例展示了如何在实践中使用此语法。
示例:如何在 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', 'G', 'H'], ' 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 4G 10 5:8 a.m.
我们可以使用以下代码来执行内部联接,它只保留两个 DataFrame 中出现团队名称的行:
#perform left join
df1. merge (df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
合并的 DataFrame 中包含的唯一行是团队名称出现在两个 DataFrame 中的行。
请注意,两个团队被删除(团队 E 和 F),因为它们没有出现在两个 DataFrame 中。
请注意,您还可以使用pd.merge()和以下语法来返回完全相同的结果:
#perform left join
p.d. merge (df1, df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
请注意,此合并的 DataFrame 与前面的示例相匹配。
注意:您可以在此处找到合并功能的完整文档。
其他资源
以下教程解释了如何在 pandas 中执行其他常见操作:
如何在 Pandas 中进行左连接
如何跨多列合并 Pandas DataFrame
Pandas 加入或合并:有什么区别?