游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Python其实很简单第二十一章DataFrame数据处理

  将Excel中的的数据读入数据框架DataFrame后,可以非常方便的进行各种数据处理。
  21。1列间求和
  求总分(总分语文数学英语)
  对于上一章所提到的学生成绩表,仅用一个语句即可完成总分计算,并填充。
  df〔总分〕df〔语文〕df〔数学〕df〔英语〕
  完整代码如下:
  frompandasimportreadexcel
  filed:student。xlsx见第18章表181
  dfreadexcel(file,sheetname0,converters{学号:str})
  df〔总分〕df〔语文〕df〔数学〕df〔英语〕
  print(df。head())df。head()的作用是仅显示5行记录。
  运行结果如下:
  序号学号姓名年级班级语文数学英语总分名次
  01070101王博宇NaNNaN847193248NaN
  12070102陈冠涛NaNNaN898989267NaN
  23070103李文博NaNNaN897276237NaN
  34070204姜海燕NaNNaN898989267NaN
  45070205林若溪NaNNaN919583269NaN
  21。2替换
  既可以将对满足条件的行和列的数据替换,也可以对整个集合的数据按照条件进行替换。
  df〔总分〕。replace(310,x,inplaceTrue)
  将总分列的数值310替换为x。inplaceTrue表示改变原数据。
  df。replace(76,0,inplaceTrue)
  将整个DataFrame中的数值76替换为0。
  df。replace(〔98,76,99〕,0,inplaceTrue)
  将整个DataFrame中的数值98,76,99一次替换为0。
  21。2排序
  既可以将某一列作为关键字段排序,也可以将几个列分别作为主、次关键字段进行排序。排序既可以按升序排序,也可以按降序排序。
  函数sortvalues()的语法格式如下:
  df。sortvalues(by〔col1,col2,。。。。。。,coln〕,ascendingFalse)
  其中,coln表示列名,也可以是列名的列表;ascending表示排序方式,值为True表示升序,可以省缺,值为False表示降序。
  如:
  dfdf。sortvalues(by〔总分〕,ascendingFalse)
  表示按照总分从高到低排序。
  dfdf。sortvalues(by〔总分,语文〕,ascendingFalse)
  表示按照总分从高到低排序,若总分相同,再按照语文成绩从高到低排序。
  21。3字段截取
  函数slice()可以从某列中截取字符串。格式如下:
  slice(start,stop)
  其中,start表示开始位置;stop表示结束位置
  例:
  df〔年级〕df〔学号〕。str。slice(0,2)
  通过此语句可以截取学号字段的第1、2个字符,并赋值给年级字段。
  21。4记录抽取
  可以抽取满足条件的记录。
  例:抽取总分300的记录。
  df〔df。总分300〕
  抽取总分在300到310之间(包括300和310)的记录。
  df〔df。总分。between(306,310)〕
  抽取学号中包含0803的记录。这样可以非常方便的抽取某个班的信息。
  df〔df。学号。str。contains(0803,naFalse)〕
  此处的naFalse,含义是如遇到NaN这样的数据,直接做不匹配处理。
  21。5修改记录
  1、整列替换
  我们在前面已经给整列填充过数据,填充时原来的数据就被覆盖了。
  即如下语句:
  df〔总分〕df〔语文〕df〔数学〕df〔英语〕
  2、个别修改
  如将值‘99’替换为值‘100’,可用如下语句:
  df。replace(99,100)
  将指定列的值替,如将语文列和英语列的值‘99’替换为值‘100’,可用如下语句:
  df。replace({语文:99,英语:99},100)
  可用如下程序去验证:
  frompandasimportreadexcel
  filed:student。xlsx
  dfreadexcel(file,sheetname0,converters{学号:str})
  print(df〔(df。语文99)(df。英语99)〕)
  dfdf。replace({语文:99,英语:99},100)
  print(df〔(df。语文99)(df。英语99)〕)
  运行结果为:
  序号学号姓名年级班级语文数学英语总分名次
  2829090802丁能通09NaN11912099338NaN
  2930090203沈丹妮09NaN10910899316NaN
  EmptyDataFrame
  Columns:〔序号,学号,姓名,年级,班级,语文,数学,英语,总分,名次〕
  Index:〔〕
  可以看出,第一个print()语句输出的结果中满足条件语文或英语为99分的有两条记录,替换语句执行以后,df中再没有满足条件语文或英语为99分的记录了。
  21。6记录合并
  函数concat()的格式如下:
  concat(〔dataFrame1,dataFrame2,。。。。。。〕,ignoreindexTrue)
  其中,dataFrame1等表示要合并的DataFrame数据集合;ignoreindexTrue表示合并之后的重新建立索引。其返回值也是DataFrame类型。
  concat()函数和append()函数的功能非常相似。
  例:
  importpandas导入pandas模块
  frompandasimportreadexcel导入readexecel
  filed:student。xlsx变量file表示文件路径,注意的用法数据见第18章表181
  dfreadexcel(file,sheetname0,converters{学号:str})
  将Excel文件导入到DataFrame变量中
  dfdf〔:5〕截取df的前5个记录
  print(df)输出df
  df1df〔:3〕截取df的前3个记录存入df1中
  df2df〔3:5〕截取df的最后2个记录存入df2中
  df3pandas。concat(〔df2,df1〕)将df2与df1合并存入df3中
  print(df3)输出df3
  运行结果如下:
  序号学号姓名年级班级语文数学英语总分名次
  01070101王博宇NaNNaN847193NaNNaN
  12070102陈冠涛NaNNaN898989NaNNaN
  23070103李文博NaNNaN897276NaNNaN
  34070204姜海燕NaNNaN898989NaNNaN
  45070205林若溪NaNNaN919583NaNNaN
  序号学号姓名年级班级语文数学英语总分名次
  34070204姜海燕NaNNaN898989NaNNaN
  45070205林若溪NaNNaN919583NaNNaN
  01070101王博宇NaNNaN847193NaNNaN
  12070102陈冠涛NaNNaN898989NaNNaN
  23070103李文博NaNNaN897276NaNNaN
  由于合并时是将df1合并到df2中,可以看出,索引仍然保持原来的状态。
  21。7统计次数
  可以用如下方法统计出某个值在某行或者某个范围出现的次数。
  frompandasimportreadexcel
  filed:student。xlsx
  dfreadexcel(file,sheetname0,converters{学号:str})
  dfdf〔:5〕
  print(df)
  print(df〔语文〕。valuecounts())
  输出结果如下:
  序号学号姓名年级班级语文数学英语总分名次
  01070101王博宇NaNNaN847193NaNNaN
  12070102陈冠涛NaNNaN898989NaNNaN
  23070103李文博NaNNaN897276NaNNaN
  34070204姜海燕NaNNaN898989NaNNaN
  45070205林若溪NaNNaN919583NaNNaN
  893
  841
  911
  Name:语文,dtype:int64
  可以看出,通过valuecounts()函数可以统计出列中各值出现的次数。
  valuecounts()函数的参数还有:
  ascending,当ascendingTrue时升序排列,当ascendingFalse时升序排列(此时该参数可省缺);
  normalize,当normalizeTrue时,显示的不再是各值出现的次数,而是占比。
  将上例中的语句print(df〔语文〕。valuecounts())改为:
  print(df〔语文〕。valuecounts(ascendingTrue,normalizeTrue))
  则输出结果变成了:
  910。2
  840。2
  890。6
  Name:语文,dtype:float64
  21。8按值查找
  print(df〔语文〕。isin(〔84,91〕))
  它的作用是查找‘语文’列中值和isin所指的列表中元素一致的记录,如果找到结果为True,否则为False。
  输出结果:
  0True
  1False
  2False
  3False
  4True
  Name:语文,dtype:bool
  21。9数据分区
  根据某个分区标准,将数据按照所属区域进行划分,并用相应的标签表示,可以用cut()方法来实现。
  语法格式如下:
  cut(series,bins,rightTrue,labelsNULL)
  其中:
  series表示需要分组的数据;
  bins表示分组的依据,是一个列表,其元素为划分分区的边界值,如〔0,72,96,120〕,就是划分3个分区,即072、7296、96120,默认的是左包右不包;
  right表示分组时右边是否闭合;
  labels表示分组的自定义标签,也可以不重新定义。
  下面对上述学生成绩表中的语文成绩进行分组,并增加一个新的列语文等级。
  importpandasaspd
  frompandasimportreadexcel导入readexecel
  filed:student。xlsx
  dfreadexcel(file,sheetname0,converters{学号:str})
  df〔年级〕df〔学号〕。str。slice(0,2)
  df〔班级〕df〔学号〕。str。slice(0,4)
  df。总分df。语文df。数学df。英语
  bins〔0,72,96,max(df。语文)1〕
  lab〔不及格,及格,优秀〕
  gradepd。cut(df。语文,bins,rightFalse,labelslab)
  df〔语文等级〕grade
  print(df。head())
  print(语文成绩分等级统计结果:)
  print(df〔语文等级〕。valuecounts())
  运行结果如下:
  序号学号姓名年级班级语文数学英语总分语文等级
  01070101王博宇070701847193248及格
  12070102陈冠涛070701898989267及格
  23070103李文博070701897276237及格
  34070204姜海燕070702898989267及格
  45070205林若溪070702919583269及格
  语文成绩分等级统计结果:
  及格17
  优秀10
  不及格4
  Name:语文等级,dtype:int64

企业搭建官网有什么用途?【新网建站资讯】传统企业转型互联网是大势所趋,为了寻找互联网入口,很多企业纷纷把目光瞄准到天猫、淘宝、京东、微店等,通过品牌入驻的形式实现互联网渠道的开发拓展。然而,过度……按100档次交15年社保,个人账户余额10万,每个月能领多少在建国初期,由于人口问题,我国率先实行了计划生育,大大控制了人口暴涨的问题。然而随着而来的便是人口老龄化的问题,许多人到了老年后无人供养,或者失去劳动能力给家庭造成巨大负担。因……案例分享智慧公寓解决方案智慧公寓,是公寓与物联网技术、电子通讯的完美结合。其通过自主研发APP软件、智能中控网关、无线控制模块及整合智能门锁、智能插座、智能无线面板开关、无线烟雾报警器、人体红外传感器……兰花上盆后,什么时候浇第二次水?兰花上盆后到底要不要立即浇透定根水,我觉得这个要看情况,浇水不当很容易造成伤口感染,导致烂根死苗,所以在和大家分享兰花上盆时,不要一味地说,上盆就浇透定根水。如果是烂根的……成都车展即将来袭,大批新车正在路上相信各位车迷朋友们最近非常关心成都车展的进展。原计划的2021年8月27日9月5日举办的第二十四届成都国际汽车展览会,现宣布延期为8月29日9月7日举办。为了让各位车迷们……包容时尚,并肩前行,体验地平线8号零感背包不知道平时上班外出的你们有没有和我一样的烦恼,就是总觉的背包不够用,不是空间不够就是外形太丑,最重要的一点那就是背完会让你的肩膀很累(尤其像我颈椎不太好的)对背包的要求更是要高……保密协议,任何企业都需要的通用版保密协议甲方(员工):乙方(企业):鉴于甲方在乙方任职,并获得乙方支付的相应报酬,双方当事人就甲方在任职期间及离职以后保守乙方商业秘密的有关事项,订定下列条款……职场人需要及其机制(心理调整)需要、挫折、冲突是人生不可逾越的企盼和境遇。就每单个个体而言,其需要层次、挫折冲突产生的心理震荡又往往是与其文化素养、社交层次、行为能力、心理修养密不可分的。在社会主义市场经济……X5和GLE太贵?这些SUV卖30万多起,5米长还有V6发动说到中大型SUV,相信不少人会想起宝马X5、奔驰GLE、奥迪Q7等车型,不可否认这些车型在国内拥有非常高的知名度,并且在产品方面也是非常的优秀,但他们的售价也比较高昂,落地最少……网安新势力网吧自学成才的顶尖极客正规军越来越多9月26日报道经过8小时鏖战,9月25日下午5点,2021巅峰极客网络安全技能挑战赛总决赛落下帷幕。最终,Venom战队脱颖而出,获得一等奖,HuaShuiTeam战队和唯独你……美商海盗船CorsairHS80RGB无线耳机简评近期受烧友力荐,赶时髦入手了美商海盗船新发售的游戏耳机HS80RGBWIRELESS。原本楼主还沉浸在鉴赏家的优雅和HS60的震撼中,感受着音乐耳朵无暇触及的新鲜领域,但是说到……儿子病危,安徽男子回家看病被开除?主管回应他曾请假近半年最近这两天,关于儿子病危,安徽男子回家看病被公司开除的消息在网上热传,看到这个消息,很多网友非常同情这个男子:人到中年,真的很不容易。也有网友为这个男子鸣不平:公司凭什么开除他……
你在今日头条多久了,有什么收获,最大的感想是什么?我是无意中看到头条上有副上联要大家来对下联,出于好玩试着对了下联。没想到还有给点赞的。觉得好玩,就经常观看头条,后来发现还有悟空问答,又试着答一答,结果挺好,并且还被推荐进首页……MicroStrategy比特币投资损失近1。5亿美元又买6【MicroStrategy比特币投资损失近1。5亿美元又买660枚】财联社2月2日电,全球持有比特币最多的上市公司MicroStrategy周二盘后公布了第四季度财报,净亏损……杨天宇机动部队热播ing出演钢铁直男PTU花式圈粉近日,由英皇娱乐出品的超级剧集《机动部队》正在优酷热播!该剧自播出以来,便收获了观众无数好评,口碑、热度、数据稳步齐升,而在剧中出演钢铁直男陈乐生的杨天宇也凭借搞怪的演绎、帅气……金玟岐献声漫改剧单恋大作战MV勾起青春酸甜记忆由新锐导演沈沁源执导,孔垂楠、刘美含、李鹤领衔主演,黄灿灿、张艺瀚特邀出演,刘锐、付曼、马歌、蒋林伶、陈帅先等主演的校园青春漫改剧《单恋大作战》,已于2月26日中午12点正式上……P50已登场,P40还能再战吗?随着华为P50的发布到现在已经过了一段时间了,但是这次和以往不太一样的就是P50只有4G版本,暂时不支持5G,这个时候就迎来了一个问题,我想用5G还想用华为怎么办?Mate40……张兆辉领衔主演黄金有罪结局篇收视狂飙创下收视奇迹张兆辉领衔主演《黄金有罪》结局篇收视狂飙,创下收视奇迹近日,由张兆辉、黄智贤、萧正楠、姚子羚领衔主演的TVB剧《黄金有罪》正式收官,该剧是以商战为题材的都市悬疑电视剧,自……张兆辉领衔主演黄金有罪大结局发挥淋漓尽致演技征服观众近日,由张兆辉领衔主演的TVB擅长的商战片《黄金有罪》迎来了大结局,该剧主打商战题材,将七八十年代的真实巨大贪污案例改编而成,通过剧集展示在大众面前,带给观众人性善恶的反思、张……张兆辉主演黄金有罪大结局演技爆发可惜收尾撞车变谬剧昨晚,由张兆辉领衔主演的TVB电视剧《黄金有罪》播出大结局,剧集以经济起飞的70年代尾80年代初香港为背景,讲述泰国华侨荣木桐(张兆辉饰)由底层开始努力奋斗,靠股票市场的力量不……推进数字化转型,国寿寿险以品质服务打造客户满意口碑长期以来,我国一直重视发展数字技术、数字经济。党的十九大提出,推动互联网、大数据、人工智能和实体经济深度融合,建设数字中国、智慧社会。这些年,我国数字经济发展较快、成就显著,根……黄金有罪口碑佳张兆辉生日愿望抗疫成功由辉哥张兆辉领衔主演的TVB无线剧《黄金有罪》自播出以来口碑甚佳,在内地点击率累计数突破20亿,成绩斐然。今天(6日)辉哥率领一众剧中演员:姚子羚、萧正楠、黄智贤、洪永城……创维电视58A9采用58吋4K液晶屏促销到手2099元家里电视坏了,准备最近更新一台?用的不多,不想买太贵的?58吋4K智能电视2099元,满足这一需求。创维电视58A9采用58吋4K液晶屏,拥有光学防蓝光技术,AI音画智能识别,……徐冬冬刘心悠守护神互撕惊呆黄宗泽这个后妈不太强星关系12月11日讯近日,由香港和内地影视公司联袂出品的超级网剧《守护神之保险调查》在爱奇艺独家播出,其中黄宗泽、苗侨伟、刘心悠等耳熟能详的名字再次聚集到一起,加上内地新秀徐冬……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网