Pandas DataFrame merge() 方法

实例

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

  1. import pandas as pd
  2. data1 = {
  3. "name": ["Sally", "Mary", "John"],
  4. "age": [50, 40, 30]
  5. }
  6. data2 = {
  7. "name": ["Sally", "Peter", "Micky"],
  8. "age": [77, 44, 22]
  9. }
  10. df1 = pd.DataFrame(data1)
  11. df2 = pd.DataFrame(data2)
  12. newdf = df1.merge(df2, how='right')
  13. print(newdf)

定义与用法

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

使用这些参数可以控制要保留和替换的值。


语法

  1. 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'。 指定如何合并
onString
List
可选。 Specifies in what level to do the merging
left_onString
List
可选。 Specifies in what level to do the merging on the DataFrame to the left
right_onString
List
可选。 Specifies in what level to do the merging on the DataFrame to the right
left_indexTrue
False
可选。 Default False。 Whether to use the index from the leftDataFrame as join key or not
right_indexTrue
False
可选。 Default False。 Whether to use the index from the right DataFrame as join key or not
sortTrue
False
可选。 Default False。 Specifies whether to sort the DataFrame by the join key or not
suffixesList可选。 Default '_x', '_y''。 Specifies a list of strings to add for overlapping columns
copyTrue
False
可选。 Default True。 Specifies whether to keep copies or not
indicatorTrue
False
String
可选。 Default False。 Specifies whether to add a column in the DataFrame with information about the source of each row
validateString可选。 Checks if the mergin is of a specified type

返回值

一个新的带有合并结果的 DataFrame

此方法不会更改原始 DataFrame。

分类导航