Pandas DataFrame merge() 方法

定义和用法

merge() 方法通过使用指定的方法(们)将两个 DataFrame 合并在一起,从而更新它们的内容。

使用参数来控制要保留哪些值以及要替换哪些值。

实例

使用另一个 DataFrame 的内容更新一个 DataFrame 的内容:

import pandas as pd

data1 = {
  "name": ["Sally", "Mary", "John"],
  "age": [50, 40, 30]
}

data2 = {
  "name": ["Sally", "Peter", "Micky"],
  "age": [77, 44, 22]
}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

newdf = df1.merge(df2, how='right')

亲自试一试

语法

dataframe.merge(right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)

参数

right 外,所有参数都是关键字参数

参数 描述
right 必需。要合并的 DataFrame、Series。
how
  • 'left'
  • 'right'
  • 'outer'
  • 'inner'
  • 'cross'

可选。指定如何合并。

默认为 'inner'。

on
  • 字符串
  • 列表
可选。指定在哪个级别进行合并。
left_on
  • 字符串
  • 列表
可选。指定在左侧 DataFrame 的哪个级别进行合并。
right_on
  • 字符串
  • 列表
可选。指定在右侧 DataFrame 的哪个级别进行合并。
left_index
  • True
  • False

可选。是否使用左侧 DataFrame 的索引作为连接键。

默认为 False。

right_index
  • True
  • False

可选。是否使用右侧 DataFrame 的索引作为连接键。

默认为 False。

sort
  • True
  • False

可选。指定是否按连接键对 DataFrame 进行排序。

默认为 False。

suffixes 列表

可选。指定要为重叠列添加的字符串列表。

默认为 '_x', '_y'。

copy
  • True
  • False

可选。指定是否保留副本。

默认为 True。

indicator
  • True
  • False
  • 字符串

可选。指定是否在 DataFrame 中添加一列,其中包含有关每行来源的信息。

默认为 False。

validate 字符串 可选。检查合并是否属于指定类型。

返回值

新的 DataFrame,包含合并后的结果。

此方法不会更改原始 DataFrame。