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。