pandas中merge的使用

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

 

原文地址:https://www.cnblogs.com/xiongying4/p/15470656.html