当前位置: 首页 > news >正文

江西省兴赣建设监理咨询有限公司网站免费制作自己的网站

江西省兴赣建设监理咨询有限公司网站,免费制作自己的网站,wordpress无法建立目录,怀集县住房和城乡规划建设网站前言 最近做了一个数据挖掘的项目#xff0c;里面涉及到大量dataframe拼接的操作。在这个过程中#xff0c;我主要使用过两种拼接方法#xff1a;pd.merge和pd.concat。其中遇到过一些坑#xff0c;在这里记录一下。 简介 首先给出pandas官方文档对于这两种方法的介绍里面涉及到大量dataframe拼接的操作。在这个过程中我主要使用过两种拼接方法pd.merge和pd.concat。其中遇到过一些坑在这里记录一下。 简介 首先给出pandas官方文档对于这两种方法的介绍 pd.merge Merge DataFrame or named Series objects with a database-style join. A named Series object is treated as a DataFrame with a single named column. The join is done on columns or indexes. If joining columns on columns, the DataFrame indexes will be ignored. Otherwise if joining indexes on indexes or indexes on a column or columns, the index will be passed on. When performing a cross merge, no column specifications to merge on are allowed. pd.concat Concatenate pandas objects along a particular axis. Allows optional set logic along the other axes. Can also add a layer of hierarchical indexing on the concatenation axis, which may be useful if the labels are the same (or overlapping) on the passed axis number. 可以看出 pd.merge是一个类似于database join的方法和SQL用起来基本没啥区别也是有内连接、外连接之类的这些概念而pd.concat可以指定轴也就是说既可以横向拼接又可以纵向拼接。 基本用法 pd.merge 将两个表按照name字段做pd.merge操作。 import pandas as pddf1 pd.DataFrame([[a, 1],[b, 2],[c, 3],],columns[name, score1], ) df2 pd.DataFrame([[a, 1],[b, 2],[d, 4],],columns[name, score2], )result_list {inner: pd.merge(leftdf1, rightdf2, howinner, onname), # 取name的交集outer: pd.merge(leftdf1, rightdf2, howouter, onname), # 取name的并集left: pd.merge(leftdf1, rightdf2, howleft, onname), # 取左边表的nameright: pd.merge(leftdf1, rightdf2, howright, onname), # 取右边表的name }for merge_type, df in result_list.items():print(merge_type)print(df)输出结果 innername score1 score2 0 a 1 1 1 b 2 2 outername score1 score2 0 a 1.0 1.0 1 b 2.0 2.0 2 c 3.0 NaN 3 d NaN 4.0 leftname score1 score2 0 a 1 1.0 1 b 2 2.0 2 c 3 NaN rightname score1 score2 0 a 1.0 1 1 b 2.0 2 2 d NaN 4其中缺失值会置为NaN。 pd.concat import pandas as pddf1 pd.DataFrame([[a, 1],[b, 2],[c, 3],],columns[name, score1], ) df2 pd.DataFrame([[a, 1],[b, 2],[d, 4],],columns[name, score2], )result_list {axis0: pd.concat([df1, df2], axis0),axis1: pd.concat([df1, df2], axis1), }for merge_type, df in result_list.items():print(merge_type)print(df)输出结果 axis0name score1 score2 0 a 1.0 NaN 1 b 2.0 NaN 2 c 3.0 NaN 0 a NaN 1.0 1 b NaN 2.0 2 d NaN 4.0 axis1name score1 name score2 0 a 1 a 1 1 b 2 b 2 2 c 3 d 4同样的缺失值会用NaN填充。 遇到的坑 index或者column被修改 如果合并的两个dataframe中除了name还有名字相同的列那么 pd.merge会默认将column重新命名加上后缀而pd.concat只是简单的做拼接不会对index或者column重新命名进而会导致合并后有重复的index或者column 例子如下 import pandas as pddf1 pd.DataFrame([[a, 1],[b, 2],[c, 3],],columns[name, score], ) df2 pd.DataFrame([[a, 1],[b, 2],[d, 4],],columns[name, score], )result_list {inner: pd.merge(leftdf1, rightdf2, howinner, onname),axis0: pd.concat([df1, df2], axis0),axis1: pd.concat([df1, df2], axis1), }for merge_type, df in result_list.items():print(merge_type)print(df)输出结果 innername score_x score_y 0 a 1 1 1 b 2 2 axis0name score 0 a 1 1 b 2 2 c 3 0 a 1 1 b 2 2 d 4 axis1name score name score 0 a 1 a 1 1 b 2 b 2 2 c 3 d 4index是否相同对于合并的影响 如果合并的两个dataframe的index不相同那么 对pd.merge是没有影响的因为pd.merge本身是基于column进行合并的并且通过on参数去指定根据哪个column进行合并。并且合并之后的index默认是从0开始以1为公差的等差数列而对于pd.concat来说在横向拼接pd.concat(axis1)的时候index会变成两个dataframe的index的并集同时出现的缺失值会用NaN填充 例子如下 import pandas as pddf1 pd.DataFrame([[a, 1],[b, 2],[c, 3],],columns[name, score],index[0, 1, xxx], ) df2 pd.DataFrame([[a, 1],[b, 2],[d, 4],],columns[name, score],index[0, 1, yyy], )result_list {inner: pd.merge(leftdf1, rightdf2, howinner, onname),axis0: pd.concat([df1, df2], axis0),axis1: pd.concat([df1, df2], axis1), }for merge_type, df in result_list.items():print(merge_type)print(df)输出结果 innername score_x score_y 0 a 1 1 1 b 2 2 axis0name score 0 a 1 1 b 2 xxx c 3 0 a 1 1 b 2 yyy d 4 axis1name score name score 0 a 1.0 a 1.0 1 b 2.0 b 2.0 xxx c 3.0 NaN NaN yyy NaN NaN d 4.0总结 pd.mergepd.concat作用的对象两个dataframe多个dataframe拼接的方式通过指定列名按照类似数据库join的方式进行拼接简单的横向拼接、纵向拼接index是否相同对于合并是否有影响无有拼接结果的区别1. index会默认从0开始编号 2. column可能会被加上后缀当两个dataframe有相同列名时1. index和column的名字不会被修改 2. 可能会出现重复index或重复column两个dataframe中有同名的index或者column 3. 横向拼接的时候行数可能会变两个dataframe中有同名的index
http://www.zqtcl.cn/news/416700/

相关文章:

  • 东莞建网站公司哪个好陕西手机网站建设公司
  • 网站系统里不能打印西安哪有学做淘宝网站
  • 哈尔滨建站模板大全天猫购买
  • 去后台更新一下网站百度最新版下载
  • 盐城网站开发教育建设网站
  • 目前网站开发有什么缺点广东品牌网站建设968
  • 东营做网站优化哪家好简单网站的制作
  • c可以做网站么网站为何不显示百度商桥对话框
  • 音乐网站用dw怎么做怎么做自己的网站教程
  • 网站换域名后需要多长时间才能收录恢复正常做文案公众号策划兼职网站
  • 丹阳做网站的公司重庆建设医院网站
  • 罗湖网站设计费用在线设计平台行业环境
  • 舟山市普陀区建设局网站淘宝怎样优化关键词
  • 网页上做ppt的网站好花西子网络营销案例分析
  • 网站设计说明书主要有什么成都企业网站seo
  • 免费素材下载网站网站建设进度时间表
  • 网站做关键词首页什么是网络营销?如何理解它的产生和把握它的特点?
  • centos做网站扬州市邗江区城乡建设局网站
  • 宁波网站建设模板制作企业做网站的作用
  • 南通网站快速收录禁止wordpress自动更新
  • 济南做网站最好的公司做一电影网站怎么赚钱吗
  • 中国城市建设网站宿州网站建设零聚思放心
  • 佛山网站免费制作struts2 做的网站
  • 做网站需要了解什么软件电商网站建设方案道客巴巴
  • 网站开发语言用什么好网站好坏怎么分析
  • 镇江制作网站的dw新建站点
  • 如果将域名指向网站东营网站建设收益高
  • 沈阳seo网站推广优化c2c网站的功能
  • 网站设计深圳云南制作网站的公司
  • 广州的网站建设公司对网络平台的优化有哪些建议