• 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

     

  • 相关阅读:
    jq绑定on事件无效
    数字以0补全
    redis常用操作
    mysql数据操作日常
    centos端口映射
    centos7防火墙操作
    mysql5.7order by问题
    centos无法上网解决方法
    面试题
    ztree 获取子节点所有父节点的name的拼接
  • 原文地址:https://www.cnblogs.com/xiongying4/p/15470656.html
Copyright © 2020-2023  润新知