1 

a1 = pd.DataFrame({
'a': [1, 1, 2, 2, 2, 6, 7, 8, 10],
'b': [1, 2, 3, 4, 5, 6, 7, 8, 9],
'c': [1, 2, 3, 4, 5, 6, 7, 8, 9]
})
a2 = pd.DataFrame({
'a': [1, 1, 2, 4, 5, 6, 7, 8, 11],
'b': ['w', 'e', '2对应的出现3次', 4, 5, 6, 7, 8, 9],
'c': ['d', 'g', '2对应的出现3次', 4, 5, 6, 7, 8, 9]
})
a3 = pd.merge( left = a1, right = a2, on = ['a'], how = 'left')
print(a3)
# a b_x c_x b_y c_y
# 0 1 1 1 w d
# 1 1 1 1 e g
# 2 1 2 2 w d
# 3 1 2 2 e g
# 4 2 3 3 2对应的出现3次 2对应的出现3次
# 5 2 4 4 2对应的出现3次 2对应的出现3次
# 6 2 5 5 2对应的出现3次 2对应的出现3次
# 7 6 6 6 6 6
# 8 7 7 7 7 7
# 9 8 8 8 8 8
# 10 10 9 9 NaN NaN

用于融合的函数

https://blog.csdn.net/brucewong0516/article/details/82707492

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,

left_index=False, right_index=False, sort=True,

suffixes=('_x', '_y'), copy=True, indicator=False,

validate=None)

融合原则 :若不指定左右,则必须是key中相同的值才可以融合(左右指的是要融合的数组不是key)

           若指定了左右,则指定的一列必须有,另一列继续融合,出现两个及以上相同的不会丢失。若两边都有相同的,则最终个数是按乘法算。比如当按左边融合时,最终的个数不一定是左边的id个数,应该是每个id对应数量乘积之和

           若指定的是outer,则是最大限度的融合,实际上是左融合和右融合的并集

           若指定的是inner,则是最小限度的融合,实际上是左融合和右融合的交集

注意:how的参数必须是 left和right

2 merge()做两个表的融合时,注意融合后表的index始终是按照左边的表格算的,当想要融合后的表格按照某个表的融合列排序时,就要将该表放在左边,与how是left或right无关.

3  left和right后面的表格不加'',否则就成字符串了,会报错:ValueError: can not merge DataFrame with instance of type <class 'str'>

 

CSV表格融合的更多相关文章

  1. csv表格处理(下)--纯JS解析导入csv

    多日前的上篇介绍了csv表格,以及JS结合后端PHP解析表格填充表单的方法.其中csv转换成二维数组的时候逻辑比较复杂多坑,幸好PHP有丰富的库函数来处理,而现在用JS解析的话就没有那么幸运了,一切都 ...

  2. CSV表格读取

    读取CSV表格需要CSV表格的编码格式为UTF-8 ,这个脚本中有些是为了方便使用封装的dll 不过都是一些简单的实现,自己实现也很容易,可做参考. /// <summary> /// 构 ...

  3. PHP处理CSV表格文件的常用操作方法是怎么样呢

    php来说,fgetcsv读入csv表格,返回一个数组,然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单.工作量主要还在于浏览器前端,建议你用jQuer ...

  4. 提取swagger内容到csv表格,excel可打开

    swagger生成的页面api接口统计,有几种方法 直接在前端用js提取出来,较麻烦(不推荐,不同版本的页面生成的标签有可能不一样,因此可能提取不出来) //apilet a = document.g ...

  5. csv表格处理(上)-- JS 与 PHP 协作导入导出

    CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...

  6. QTableWidget 导出到csv表格

    跳槽到了新的公司,开始苦逼的出差现场开发,接触到了新的应用.有很多应用需要将Table导出成表格,可以把table导出成csv格式的文件.跟大伙分享一下: lass TableToExcle : pu ...

  7. 导出CSV表格数据

    <?php class Csv{ //导出csv文件 public function put_csv($list,$title){ $file_name="CSV".date ...

  8. 实现数据导出为.csv表格

    数据导出实现步骤: 1.查找出要导出的数据,整理为二维数组. 2.定义导出表格的字段 3.将整理的二维数组按导出表格定义的字段重新整理. 4.将整理的二维数组写入服务器中已有的一个.csv文件. 5. ...

  9. javascript前端导出csv表格

    使用场景 后台统计经常要展示各种各样的表格数据,几乎每个表格展示都会伴随着数据的导出. 之前的解决方案都是通过发起一个相同查询参数(querystring)的导出请求(action=export),由 ...

随机推荐

  1. tomcat的systemctl启动脚本

    最近在做Tomcat的实验,顺便研究了一下tomcat的启动脚本发现一个问题,然后经过多方查阅其他大神的资料,终于解决,现在跟大家分享. tomcat的启动脚本跟别的脚本有稍微区别的原因是他需要识别J ...

  2. 表达式引擎aviator

    Aviator是一个轻量级.高性能的Java表达式执行引擎, 本文内容主要来自于官方文档 简介 包依赖 使用手册 执行表达式 使用变量 exec 方法 调用函数 自定义函数 编译表达式 访问数组和集合 ...

  3. angular --- s3core移动端项目(二)

    product-ctrl.js angular.modules('myApp').controller('ProductCtrl',['$scope','$rootScope','$timeout', ...

  4. angular --- s3core移动端项目

    因为记性不好的原因做个草稿笔记 app.js中 var myApp = angular.module('myApp',['ui.router','oc.lazyLoad','ngAnimate','数 ...

  5. loadrunner中web_reg_save_param和web_reg_save_param_ex的区别

    在使用Loadrunner进行性能测试,编写接口请求脚本时,通过会用到关联函数,而web_reg_save_param和web_reg_save_param_ex的函数有什么区别呢?以下为总结的两点, ...

  6. Uncaught DOMException: Failed to construct 'WebSocket': The URL 'xxx.xxx.com/' is invalid.

    Uncaught DOMException: Failed to construct 'WebSocket': The URL 'xxx.xxx.com/' is invalid. 出现这个问题是构造 ...

  7. [easyUI] lazyload 懒加载

    1.使用<img>标签将图片都写在网页上. <div style="height:450px;"><h1>请往下看,有图片的吆!</h1& ...

  8. SQL查询日期格式化

    MARK一下 方便以后自己查阅 举例如下: getdate() 可以替换成日期类型字段 select Convert(varchar(10),getdate(),120) 2006-05-12sele ...

  9. JWT ajax java spingmvc 简洁教程

    1.添加依赖 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</ ...

  10. 字节顺序标记——BOM,Byte Order Mark

    定义 BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码.     介绍 UTF-8 不需要 BOM,尽管 Unico ...