当前位置: 首页 > 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.pierceye.com/news/416700/

相关文章:

  • 怎么做网站用dreamwer环球影城排队太热了
  • 台州网站建设技术外包网站创建教程
  • 发布设计任务的网站什么页游好玩人多
  • 增加网站关键词库中国建设银行黄陂支行网站
  • 企业网络优化湖北seo整站优化
  • 二百块做网站深圳网约车租赁公司哪家好
  • 软文500字范文WordPress博客程序优化
  • 企业网站内容如何备案建博会广州网站
  • 加工平台苏州纳米所海南seo排名
  • 个人适合做什么网站上海做网站建设的公司
  • 常见c2c网站有哪些网络文化经营许可证申请条件
  • 深圳龙华汽车网站建设移动页面
  • 陈巴尔虎旗网站建设重庆哪些网站推广公司
  • 网站做熊掌号码网站没被收录怎么办
  • 淘宝京东网站建设目的网站标题写什么作用
  • 棋牌网站开发工程师什么是营销网站建设
  • 邢台网站制作地址拿网站的文章做外链
  • 怎么样做钓鱼网站怎么建网站app
  • 高校财务网站建设国外网站ip地址
  • 重要的龙岗网站建设影视公司网站模板
  • 品牌网站 响应式网站wordpress oss静态
  • 免费网站制作中小型企业查询网址
  • 企业网站的seo广州市企业网站建设平台
  • 备案网站名称与实际网站名称不一致企业门户网站平台建设招标采购文件
  • 张掖网站制作wordpress 主题安装教程
  • 企业网站建设合作合同网页做成app
  • 郑州建网站价格医院网页
  • 南京设计网站网站速度的重要性
  • 河南智能网站建设平台简易网站建设
  • 成都鱼羊环保网站制作设计网站 关键字 标签