CSV表格融合
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表格融合的更多相关文章
- csv表格处理(下)--纯JS解析导入csv
多日前的上篇介绍了csv表格,以及JS结合后端PHP解析表格填充表单的方法.其中csv转换成二维数组的时候逻辑比较复杂多坑,幸好PHP有丰富的库函数来处理,而现在用JS解析的话就没有那么幸运了,一切都 ...
- CSV表格读取
读取CSV表格需要CSV表格的编码格式为UTF-8 ,这个脚本中有些是为了方便使用封装的dll 不过都是一些简单的实现,自己实现也很容易,可做参考. /// <summary> /// 构 ...
- PHP处理CSV表格文件的常用操作方法是怎么样呢
php来说,fgetcsv读入csv表格,返回一个数组,然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单.工作量主要还在于浏览器前端,建议你用jQuer ...
- 提取swagger内容到csv表格,excel可打开
swagger生成的页面api接口统计,有几种方法 直接在前端用js提取出来,较麻烦(不推荐,不同版本的页面生成的标签有可能不一样,因此可能提取不出来) //apilet a = document.g ...
- csv表格处理(上)-- JS 与 PHP 协作导入导出
CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...
- QTableWidget 导出到csv表格
跳槽到了新的公司,开始苦逼的出差现场开发,接触到了新的应用.有很多应用需要将Table导出成表格,可以把table导出成csv格式的文件.跟大伙分享一下: lass TableToExcle : pu ...
- 导出CSV表格数据
<?php class Csv{ //导出csv文件 public function put_csv($list,$title){ $file_name="CSV".date ...
- 实现数据导出为.csv表格
数据导出实现步骤: 1.查找出要导出的数据,整理为二维数组. 2.定义导出表格的字段 3.将整理的二维数组按导出表格定义的字段重新整理. 4.将整理的二维数组写入服务器中已有的一个.csv文件. 5. ...
- javascript前端导出csv表格
使用场景 后台统计经常要展示各种各样的表格数据,几乎每个表格展示都会伴随着数据的导出. 之前的解决方案都是通过发起一个相同查询参数(querystring)的导出请求(action=export),由 ...
随机推荐
- 【Visual Studio 扩展工具】使用ComponentOne中的GroupDefinition和SortDefinition属性保存和还原布局
概述 在此前的ComponentOne中,我们为C1FlexGrid(最快,最灵活的.Net数据网格控件)添加了一个非常强大的动态分组功能,这篇技术博客<将动态分组添加到.NET表格控件Flex ...
- MapReduce :基于 FileInputFormat 的 mapper 数量控制
本篇分两部分,第一部分分析使用 java 提交 mapreduce 任务时对 mapper 数量的控制,第二部分分析使用 streaming 形式提交 mapreduce 任务时对 mapper 数量 ...
- Hnoi-2017 滚粗记
一路走来,OI生涯中最重要的一场比赛在10个小时的比赛后,在不止10个小时的焦急等待中,也就这么结束了呢... Day 0: 当时其实内心里面还是比较虚的,还记得在回家的路上和$DYC$大佬畅想我们省 ...
- npm 升降级
npm 降级 $ npm -v 6.4.1 $ sudo npm install npm@4 -g /usr/bin/npm -> /usr/lib/node_modules/npm/bin/n ...
- 使用Docker方式创建3节点的Etcd集群
一.简要说明 二.运行容器 三.验证集群 四.运行截图 五.参考链接 一.简要说明 参考etcd官网文档, 在node1.node2.node3三个节点上,分别运行etcd容器,创建etcd集 ...
- 力扣(LeetCode)804. 唯一摩尔斯密码词
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 &q ...
- 无限遍历,Python实现在多维嵌套字典、列表、元组的JSON中获取数据
背景 在做接口自动化的过程中,接口返回的数据是 列表字典循环嵌套 格式的,所以怎样通过一个key值,获取到被包裹了多层的目标数据成为了摆在我面前的一个问题. 一开始没想自己写,但是搜索后发现虽然很 ...
- Unity---判断某个点是否在摄像机的视景范围内
using UnityEngine; [RequireComponent(typeof(Camera))] public class VisualDetectionCamera : MonoBehav ...
- 美国FLAG和中国BAT的比较(王益)
美国FLAG和中国BAT的比较(王益) http://cxwangyi.github.io/notes/2014-09-29-flag-vs-bat.html 知乎 http://www.zhihu. ...
- yii中接收微信传过来的json数据
//控制器<?php namespace frontend\controllers; use frontend\models\User; use yii; use yii\web\Control ...