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. Windows 下通过DOS命令获取指定文件夹下所有文件的全路径

    1.在你要获取路径的文件夹下 新建文本文档 (.txt) 文件, 2.输入以下内容保存 DIR *.* /S/B >LIST.TXT /s 表示递归 3. 将文件后缀改成 .bat 4.双击运行 ...

  2. hdu-5009 Paint Pearls DP+双向链表 with Map实现去重优化

    http://acm.hdu.edu.cn/showproblem.php?pid=5009 题目要求对空序列染成目标颜色序列,对一段序列染色的成本是不同颜色数的平方. 这题我们显然会首先想到用DP去 ...

  3. mybatis_generator合并xml和Java

    之前写了合并xml的插件,今天改了改mybatis-generator源码,合并java和xml都改进去了. 先上图吧. 左边是一开始生成的,中间去掉author加了password字段和方法,右边重 ...

  4. configparser配置文件管理

    写入内容到配置文件 import configparser config = configparser.ConfigParser() #实例化一个configparser对象,config={} co ...

  5. 正确学习Linux系统的5个建议

    摘要: 最近几年Linux系统应用越来越广泛,以至于很多人开始热衷学习Linux.但是我们都是从小都是学习windows系统长大的,从windows 98到现在的windows 10,而根据学习win ...

  6. Java--- Ajax异步验证用户名是否存在

    今天复习了一下  Ajax异步验证用户名是否存在,在下面我写三种,一般开发时候都用第三种 jQuery和Ajax结合的形式,下面就介绍三种,具体说明代码里就有啦,废话不多说,直接上代码: 第一种方式: ...

  7. mongoose的关联查询 :populate

    mongoose关联查询从3.2版本开始支持 基本用法如下: var studentSchema = new Schema({ name:String, age:String, school:{ ty ...

  8. linux 服务发布脚本升级,远程发布,指定拉取远程dev,test等分支代码

    1.本地发布脚本 publish.sh #!/bin/sh currentDay=`date +%Y%m%d` currentTime=`date +%Y%m%d%H%M%S` tomcat1=/da ...

  9. 【IDEA&&Eclipse】1、为何 IntelliJ IDEA 比 Eclipse 更适合于专业java开发者

    圣战 有一些没有唯一正确答案的“永恒”的问题,例如哪个更好:是Windows还是Linux,Java还是C#:谁更强壮:Chuck Norris还是Van Damme. 其中的一个圣战便是Java I ...

  10. js实现上拉加载思路整理

    1.整体模拟滚动 监听touchmove事件,比较 scrollTop 和 $scroller.scrollHeight() - $container.height(). 缺点:滑动不流畅, tran ...