pandas中merge函数的用法

来自:网络
时间:2024-08-28
阅读:

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 中的所有行,并且将匹配的行合并。

返回顶部
顶部