merge()
函数是 Pandas 中用于合并两个 DataFrame 的函数,类似于 SQL 中的 JOIN 操作。它允许你根据指定的列或索引进行连接操作。以下是一些 merge()
函数的用法示例:
merge函数的基本用法
merge()函数的基本用法非常简单,主要包括以下几个参数:
- left:要合并的左侧DataFrame;
- right:要合并的右侧DataFrame;
- how:指定合并的方式,默认为'inner',可以是'left'、'right'、'outer'等;
- on:指定用于合并的列名,如果不指定,则默认使用两个DataFrame中的公共列进行合并。
几个常用的参数
- left_on、right_on:指定左侧DataFrame和右侧DataFrame用于合并的列名,可用于处理两个DataFrame中列名不同的情况;
- suffixes:指定在列名冲突时用于区分的后缀,默认为('_x', '_y');
- indicator:在结果DataFrame中增加一个特殊的列,指示每行的合并方式,默认为False;
- validate:检查合并操作的类型是否有效,默认为None。
假设我们有两个 DataFrame,分别是 df1
和 df2
:
import pandas as pd # 创建 DataFrame df1 data1 = {'ID': [1, 2, 3, 4], 'Name': ['Alice', 'Bob', 'Charlie', 'David']} df1 = pd.DataFrame(data1) # 创建 DataFrame df2 data2 = {'ID': [2, 3, 4, 5], 'Age': [25, 30, 35, 40]} df2 = pd.DataFrame(data2)
1.内连接(Inner Join):
merged_outer = pd.merge(df1, df2, on='ID', how='outer') print(merged_outer)
这会将两个 DataFrame 按照共同的 ID
列进行内连接。结果将只包含两个 DataFrame 中都有的 ID
。
2.左连接(Left Join):
merged_outer = pd.merge(df1, df2, on='ID', how='outer') print(merged_outer)
这会将 df1
按照 ID
列进行左连接,即将 df1
的所有行保留,并且将 df2
中匹配的行合并。
3.右连接(Right Join):
merged_outer = pd.merge(df1, df2, on='ID', how='outer') print(merged_outer)
这会将 df2
按照 ID
列进行右连接,即将 df2
的所有行保留,并且将 df1
中匹配的行合并。
4.外连接(Outer Join):
merged_outer = pd.merge(df1, df2, on='ID', how='outer') print(merged_outer)
这会将两个 DataFrame 按照共同的 ID
列进行外连接,即保留两个 DataFrame 中的所有行,并且将匹配的行合并。