Pandas DataFrame merge() 方法
示例
用另一个 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')
自己动手试一试 »
定义和用法
merge()
方法通过使用指定的方法合并两个 DataFrame 来更新它们的内容。
使用参数控制要保留哪些值以及要替换哪些值。
语法
dataframe.merge(right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
参数
除了 right
之外的所有参数都是关键字参数。
参数 | 值 | 描述 |
---|---|---|
right | 必需。要合并的 DataFrame 或 Series。 | |
how | 'left' |
可选。默认值为 'inner'。指定如何合并。 |
on | 字符串 List(列表) |
可选。指定在哪个级别进行合并。 |
left_on | 字符串 List(列表) |
可选。指定在左侧 DataFrame 的哪个级别进行合并。 |
right_on | 字符串 List(列表) |
可选。指定在右侧 DataFrame 的哪个级别进行合并。 |
left_index | True |
可选。默认值为 False。是否使用左侧 DataFrame 的索引作为连接键。 |
right_index | True |
可选。默认值为 False。是否使用右侧 DataFrame 的索引作为连接键。 |
排序 | True |
可选。默认值为 False。指定是否按连接键对 DataFrame 进行排序。 |
suffixes | List(列表) | 可选。默认值为 '_x', '_y'。指定一个字符串列表,用于为重叠的列添加后缀。 |
copy | True |
可选。默认值为 True。指定是否保留副本。 |
indicator | True 字符串 |
可选。默认值为 False。指定是否在 DataFrame 中添加一列,其中包含每行的来源信息。 |
validate | 字符串 | 可选。检查合并是否为指定类型。 |
返回值
一个新的DataFrame,包含合并结果。
此方法不会更改原始的 DataFrame。