zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    为什么选择 Yeoman 及 Yeoman 的安装
    NPOI高效匯出Excel
    CentOS7 MongoDB安裝
    打印函数调用堆栈
    libevent源码分析:eventop
    libevent源码分析:time-test例子
    libevent源码分析:event_assign、event_new
    libevent源码分析:bufferevent
    lievent源码分析:evbuffer
    epoll实现压测工具
  • 原文地址:https://www.cnblogs.com/xiongying4/p/15470656.html
Copyright © 2011-2022 走看看