Pandas 加入或合并:有什么区别?


join()merge()函数可用于组合两个 pandas DataFrame。

这是两个函数之间的主要区别:

  • join()函数按索引组合两个 DataFrame。
  • merge()函数根据您指定的列组合两个 DataFrame。

这些函数使用以下基本语法:

 #use join() to combine two DataFrames by index
df1. join (df2)

#use merge() to combine two DataFrames by specific column name
df1. merge (df2,on=' column_name ')

如果您知道要通过索引连接两个 DataFrame,则可以使用join()函数来节省输入。

以下示例展示了如何在实践中使用每个功能。

示例 1:如何使用 join() 函数

以下代码展示了如何使用join()函数组合两个 DataFrame:

 import pandas as pd

#create two DataFrames
df1 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' points ': [8, 12, 19]}). set_index (' name ')
df2 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' steals ': [4, 5, 2]}). set_index (' name ')

#view two DataFrames
print (df1); print (df2)

      steal points
name name
A 8 A 4
B 12 B 5
C 19 C 2

#use join() function to join together two DataFrames
df1. join (df2)

	steal points
name		
At 8 4
B 12 5
C 19 2

默认情况下, join()函数使用索引列连接两个 DataFrame。

示例 2:如何使用 merge() 函数

以下代码展示了如何使用merge()函数合并两个 DataFrame:

 import pandas as pd

#create two DataFrames
df1 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' points ': [8, 12, 19]}). set_index (' name ')
df2 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' steals ': [4, 5, 2]}). set_index (' name ')

#view two DataFrames
print (df1); print (df2)

      steal points
name name
A 8 A 4
B 12 B 5
C 19 C 2

#use join() function to join together two DataFrames
df1. merge (df2, on=' name ')

	steal points
name		
At 8 4
B 12 5
C 19 2

请注意, merge()函数返回完全相同的结果,但我们必须明确告诉 pandas 使用“name”列加入 DataFrame。

其他资源

您可以在此处找到join()merge()函数的完整在线文档:

join() 函数的文档
merge() 函数的文档

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

如何向 Pandas DataFrame 添加行
如何向 Pandas DataFrame 添加标题行
如何获取 Pandas DataFrame 的第一行
如何从 Pandas DataFrame 获取第一列

添加评论

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