merge 合并

  • pandas.merge可根据一个或多个键将不同DataFrame中的行合并起来
  • # 在未指定连接键的情况下,merge会将重叠列的列名当做键
    pd.merge(left, right)# 指定“on”作为连接键,left和right两个DataFrame必须同时存在“on”列,连接键也可N对N(少用)
    pd.merge(left, right, on="key")
    pd.merge(left, right, on=["key1", "key2"])# 指定left的连接键为“lkey”,right的连接键为“rkey”
    pd.merge(left,  right,  left_on="lkey",  right="rkey")# suffixes:用于追加到重叠列名的末尾,默认为("_x", "_y")
    pd.merge(left,  right,  on="key",  suffixes=("_left",  "_right"))# 指定连接方式:“inner”(默认),“left”,“right”,“outer”
    pd.merge(left, right, how="outer")

  • 多对多连接产生的是行的笛卡尔积
  • 常用方式:连接方式为“left”,right的连接键要唯一(去除重复值),通过right的数据补全left的数据

   索引上的合并(可用join代替,而且join更方便)

  • 当DataFrame的连接键位于其索引中,可以使用 left_index=True 和 right_index=True
  • # 索引和索引连接
    pd.merge(left,  right,  left_index=True,  right_index=True)# "key"和索引连接
    pd.merge(left,  right,  left_on="key",  right_index=True)# 层次化索引
    pd.merge(left,  right,  left_on=["key1", "key2"],  right_index=True)

join 连接

  • DataFrame的join实例方法,是为了方便实现索引合并
  • # 用left的索引和right的索引进行merge
    left.join(right)# 用left的索引和right的“key”进行merge
    left.join(right, on="key")# 层次化索引
    left.join(right, on=["key1", "key"])# join可以合并两张以上的表,而merge只能合并两张表
    left.join([right1, right2], how="outer")

concat  轴向连接

  • pandas.concat可以沿着一条轴将多个表对象堆叠到一起:因为模式how模式是“outer”
  • # 默认 axis=0 上下拼接,列column重复的会自动合并
    pd.concat([df1, df2], axis=0)# axis=1 左右拼接,行raw/index重复的会自动合并
    pd.concat([df1, df2], axis=1)# 忽略df1和df2原来的index,重新给新的DataFrame设置从0开始的index
    pd.concat([df1,df2],  ignore_index=True)

append

  • 使用场景:表头一致的多张表,进行连接(上下连接)

    df1.append(df2).append(df3)

combin_first 数据填补

  • 使用场景:有两张表left和right,一般要求它们的表格结构一致,数据量也一致,使用right的数据去填补left的数据缺漏
  • 如果在同一位置left与right数据不一致,保留left的数据
    df1.combin_first(df2)

转载于:https://www.cnblogs.com/bianzhiwei/p/10070166.html

Pandas DataFrame merge join concat append combin_first 使用demo相关推荐

  1. python科学计算笔记(十三)pandas的merge、concat合并数据集

    本篇博客主要介绍: 合并数据集:.merge()..concat()等方法,类似于SQL或其他关系型数据库的连接操作. 合并数据集 1) merge 函数参数 参数 说明 left 参与合并的左侧Da ...

  2. pandas DataFrame 数据处理常用操作

    Xgboost调参: https://wuhuhu800.github.io/2018/02/28/XGboost_param_share/ https://blog.csdn.net/hx2017/ ...

  3. 『Python核心技术与实战』pandas.DataFrame()函数介绍

    pandas.DataFrame()函数介绍! 文章目录 一. 创建DataFrame 1.1. numpy创建 1.2. 直接创建 1.3. 字典创建 1.4. Series和DataFrame 二 ...

  4. left join on or 优化_pandas中merge/join有什么区别?

    越来越多的人学习python,更确切的说是pandas,包中最让人迷惑的是merge 和join,以下将说一说他们之间的区别和联系: 总的来说:pandas.merge()才是老大,merge/joi ...

  5. Python - pandas DataFrame数据的合并与拼接(merge、join、concat)

    目录 0 概述 1 merge方法 1.1 内连接 1.2 外连接 1.3 左连接 1.4 右连接 1.5 基于多列的连接算法 1.6 基于index的连接方法 2 join方法 2.1 index与 ...

  6. 【Python】图解Pandas数据合并:concat、join、append

    公众号:尤而小屋 作者:Peter 编辑:Peter 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数merge的使用,本文中介 ...

  7. [转载] python 把几个DataFrame合并成一个DataFrame——merge,append,join,conca

    参考链接: Python | pandas 合并merge,联接join和级联concat python  把几个DataFrame合并成一个DataFrame--merge,append,join, ...

  8. pandas数据合并:concat、join、append

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数 ...

  9. pandas使用merge函数将多个dataframe数据连接起来、设置how参数为outer指定全连接(outer join)、left_on参数指定左侧dataframe的连接字段

    pandas使用merge函数将多个dataframe数据连接起来.设置how参数为outer指定全连接(outer join).left_on参数指定左侧dataframe的连接字段.right_o ...

  10. pandas使用merge函数将多个dataframe数据连接起来、设置how参数为left指定左连接(left join)、on参数指定连接字段

    pandas使用merge函数将多个dataframe数据连接起来.设置how参数为left指定左连接(left join).on参数指定连接字段 目录

最新文章

  1. [笔记] consul用grpc做健康检查注意点
  2. SSE图像算法优化系列八:自然饱和度(Vibrance)算法的模拟实现及其SSE优化(附源码,可作为SSE图像入门,Vibrance算法也可用于简单的肤色调整)。...
  3. define 双引号 其他宏_当年宏语言不受欢迎?背后的原因你知道吗?
  4. oracle获取堆栈,如何从RAISED异常中获取oracle PL / SQL中原始异常的堆栈跟踪?
  5. linux 内核宏container_of剖析
  6. LeetCode 173. 二叉搜索树迭代器(中序遍历)
  7. 多线程Runnable类创建多线程
  8. 银泰上云 打造“从-1到0再到1”数字化成长逻辑
  9. string 中的offset_【Java基础】String常量的长度有限制吗?
  10. 测试鼠标是否双击_鼠标连接电脑没反应
  11. 华为机试HJ100:等差数列
  12. J2ME Canvas切换闪屏问题解决
  13. 控制算法(二)—— 模糊控制算法
  14. 英文版-Plan9汇编器-A Manual for the Plan 9 assembler
  15. JD-JUI反编译问题
  16. 【K线绘图】教你用python绘制带有买卖点的股票K线图(附送鳄鱼指标、顾比均线指标、dataframe格式化输出)
  17. 赛锐信息:5个方面帮您应对 SAP License 审计
  18. 丛书【数据库面试笔试宝典】已在京东、淘宝、天猫等各大电子商城销售
  19. Origin 2017 调整默认字体的方法
  20. Linux命令--tac(倒序查看文件所有内容)

热门文章

  1. Spring Cloud Alibaba Nacos集群和持久化配置
  2. MyBatis中一对多和多对一处理
  3. [sublime系列文章] sublime text 3构建系统
  4. linux服务器优化
  5. 《项目百态》读感系列”苏式风格“
  6. INSTALL_FAILED_UID_CHANGED解决办法
  7. 机器学习:matlab实现异常检测
  8. Luogu3178 [HAOI2015]树上操作
  9. java中的内部类_Java中成员内部类的使用
  10. java流程语句_java流程控制语句总结