pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
常用參數:
left:左 DataFrame
right:右 DataFrame
how:連接方式:‘inner’(默認);還有,‘outer’、‘left’、‘right’
on:用於連接的列名,必須同時存在於左右兩個DataFrame對象中
先定義兩個DataFrame:
import pandas as pd import numpy as np df1 = pd.DataFrame({"name":['A','B','C','D','E'],"age":['10','15','20','25','30']})
df2 = pd.DataFrame({"name":['A','B','D','F','g'],"age":['5','30','35','40','45']}) df2
1.內連接 inner
merage默認的連接方式
以name為為基准,保留df1和df2同時存在的數據
df = pd.merge(df1,df2,on="name",how="inner") df
2.外連接 outer
以name為為基准,保留df1和df2所有的數據,不存在的值自動補充Nan
3.左連接 left
以name為為基准,以左邊age_x為標准,右邊age_y不存在的值自動補充Nan
4.右連接right
以name為為基准,以右邊age_y為標准,左邊age_x不存在的值自動補充Nan