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