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()函数的完整在线文档:
以下教程解释了如何在 pandas 中执行其他常见功能:
如何向 Pandas DataFrame 添加行
如何向 Pandas DataFrame 添加标题行
如何获取 Pandas DataFrame 的第一行
如何从 Pandas DataFrame 获取第一列