安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

Python其实很简单第十九章Pandas之Series与D

11月11日 观潮阁投稿
  19。1安装Anaconda
  Anaconda是Python的一个开源发行版本,它预装了丰富的第三方库,而且主要面向科学计算和数据分析,使用起来要比原版的Python更省时省力。
  Anaconda官方下载网址为:https:www。continuum。iodownloads。下载和安装的方法很简单,若有问题可以在网上搜索相关内容学习解决。
  安装Anaconda之后,就会发现在Anaconda目录下同时安装了JupyterNotebook、Spyder等工具,我们接下来主要使用Spyder进行开发。关于Spyder的使用方法非常简单,大家也可以去网上搜索学习。
  虽然Anaconda已经预装了很多常用的包,但有时我们也需要自己安装一些包。可以在开始菜单中选择AnacondaAnacondaPrompt命令,在命令行输入condainstall(代表包名)即可安装,也可以输入pipinstall。
  19。2数据分析包Pandas
  Pandas是Python的一个数据分析包,Anaconda安装时已经附带安装了Pandas包。
  Pandas数据结构有三种:Series(一维数组)、DataFrame(二维数组)和Panel(三维数组),其中最常用的是前两种数据结构。
  19。2。1Series
  Series(序列)用于存储一行或一列数据,以及与之相关的索引的集合。
  语法格式如下:
  Series(〔数据1,数据2,。。。。。。〕,index〔索引1,索引2,。。。。。。〕)
  例:
  frompandasimportSeries
  sSeries(〔张三,李四,王五〕,index〔1,2,3〕)
  print(s)
  输出结果如下:
  1张三
  2李四
  3王五
  dtype:object
  上面建立序列时指定了索引,若不指定,则默认的索引值从0开始。如下:
  sSeries(〔张三,李四,王五〕)
  输出结果为:
  0张三
  1李四
  2王五
  dtype:object
  索引值也可以为字符串。如下:
  frompandasimportSeries
  sSeries(〔张三,李四,王五〕,index〔A,B,C〕)
  print(s)
  输出结果为:
  A张三
  B李四
  C王五
  dtype:object
  1、访问序列
  (1)可以通过索引访问序列,如:
  frompandasimportSeries
  sSeries(〔张三,李四,王五〕)
  print(s)
  print(s〔0〕)
  print(s〔1:〕)
  运行结果如下:
  0张三
  1李四
  2王五
  dtype:objectprint(s)输出
  张三print(s〔0〕)输出
  1李四
  2王五
  dtype:objectprint(s〔1:〕)输出
  (2)通过值获取索引值
  frompandasimportSeries
  sSeries(〔张三,李四,王五〕,index〔A,B,C〕)
  print(s。index〔s。values李四〕)
  运行结果:
  Index(〔B〕,dtypeobject)
  (3)判断值是否存在
  frompandasimportSeries
  sSeries(〔张三,李四,王五〕,index〔A,B,C〕)
  f李四ins。values
  print(f)
  运行结果:
  True
  (4)定位获取
  frompandasimportSeries
  sSeries(〔张三,李四,王五,孙六〕,index〔A,B,C,D〕)
  print(s〔〔0,2,1〕〕)
  运行结果:
  A张三
  C王五
  B李四
  dtype:object
  2、修改序列
  (1)追加序列,如:
  frompandasimportSeries
  sSeries(〔张三,李四,王五〕,index〔A,B,C〕)
  s1Series(〔孙六〕,index〔D〕)
  ss。append(s1)
  print(s)
  运行结果:
  A张三
  B李四
  C王五
  D孙六
  dtype:object
  (2)修改序列的值
  frompandasimportSeries
  sSeries(〔张三,李四,王五,孙六〕,index〔A,B,C,D〕)
  s〔1〕李飞
  print(s)
  运行结果:
  A张三
  B李飞
  C王五
  D孙六
  dtype:object
  不知道索引,仅知道要修改的值,也可通过值查找到索引后,再修改序列的值。如:
  s〔s。index〔s。values李四〕〕李飞
  这样也可以将李四修改为李飞。
  (3)修改索引
  frompandasimportSeries
  sSeries(〔张三,李四,王五,孙六〕,index〔A,B,C,D〕)
  s。index〔0,1,2,3〕
  print(s)
  运行结果:
  0张三
  1李四
  2王五
  3孙六
  dtype:object
  (4)删除元素
  frompandasimportSeries
  sSeries(〔张三,李四,王五,孙六〕,index〔A,B,C,D〕)
  ss。drop(A)
  print(s)
  运行结果:
  B李四
  C王五
  D孙六
  dtype:object
  (5)重新排序
  可以按照索引排序,使用sortindex(ascendingTrue)方法对index进行排序操作。
  frompandasimportSeries
  sSeries(〔张三,李四,王五,孙六〕,index〔A,B,C,D〕)
  ss。sortindex(ascendingFalse)ascendingFalse表示按降序排列
  print(s)
  运行结果:
  D孙六
  C王五
  B李四
  A张三
  dtype:object
  (6)重置索引
  重置索引可以使用reindex()。如果index列表中的元素多于序列的值,可用fillvalue0这样的语句填充。
  ss。reindex(〔D,C,B,A〕)
  如果index列表中的元素多于序列的值,可用fillvalue0这样的语句填充。
  ss。reindex(〔D,C,B,A〕,fillvalue0)
  19。2。2DataFrame
  DataFrame(数据框架)用于存储多行和多列的数据集合。它是Series的容器,类似于Excel中二维表格。
  定义一个DataFrame的语法格式如下:
  dfDataFrame({列名1:序列1,列名2:序列2,。。。。。。。列名n:序列n},index序列)
  例如,有如下二维表:
  姓名
  性别
  年龄
  张三
  男
  18hr李四
  女
  19hr王五
  男
  17hr保存到DataFrame中可以用如下方法:
  frompandasimportSeries
  frompandasimportDataFrame
  nameSeries(〔张三,李四,王五〕)
  sexSeries(〔男,女,男〕)
  ageSeries(〔18,19,17〕)
  dfDataFrame({姓名:name,性别:sex,年龄:age})
  print(df)
  运行结果:
  姓名性别年龄
  0张三男18
  1李四女19
  2王五男17
  从上例可以看出,虽然我们省缺了索引,但系统自动添加了从0开始的索引值。
  19。3DataFrame的基本操作
  1、访问方式
  (1)获取行
  print(df〔1:2〕)获取第1行的值
  输出结果:
  姓名性别年龄
  1李四女19
  print(df〔1:3〕)获取第1行到第2行的值
  输出结果:
  姓名性别年龄
  1李四女19
  2王五男17
  (2)获取列
  print(df〔姓名〕)获取姓名列的值
  输出结果:
  0张三
  1李四
  2王五
  Name:姓名,dtype:object
  另一种方法:
  print(df〔df。columns〔0:1〕〕)先按照索引号获取列名,再按照列名读取
  输出结果和上面的方法完全一致。
  还有一种情况,是获取唯一值,即将列内的重复值中多余的删除,仅留下互不相同的值。所用的到方法是unique()。
  sex1Series(df〔性别〕。unique())
  print(sex1)
  输出结果:
  0男
  1女
  dtype:object
  (3)获取指定位置的值
  print(df。at〔1,姓名〕)格式为变量名。at〔行号,列名〕
  输出结果:
  李四
  (4)获取块的值
  print(df。iloc〔0:2,1:3〕)格式为变量名。iloc〔行号1:行号2,列号1:列号2〕
  输出结果:
  性别年龄
  0男18
  1女19
  print(df。iloc〔:,1:2〕)获取性别列的值
  运行结果:
  性别
  0男
  1女
  2男
  2、修改、删除、增加行和列
  (1)修改列名
  print(df。columns)
  df。columns〔name,sex,age〕
  print(df。columns)
  输出结果:
  Index(〔姓名,性别,年龄〕,dtypeobject)
  Index(〔name,sex,age〕,dtypeobject)
  可见,列名已经由姓名、性别、年龄修改为age、sex、age了。但这种修改必须把全部列名都一一列举,不能有遗漏,否则就会出错。如:
  df。columns〔name,sex〕
  此时会报错:ValueError:Lengthmismatch:Expectedaxishas3elements,newvalueshave2elements。
  (2)修改行索引
  df。index〔1,2,3〕
  (3)删除行
  df。drop(1,axis0)axis0表示行轴,也可以省略
  (4)删除列
  df。drop(‘性别’,axis1)axis0表示列轴
  也可以使用另一种方法:
  deldf〔性别〕
  (5)增加列
  df〔电话〕〔1111111,2222222,3333333〕
  print(df)
  运行结果:
  姓名性别年龄电话
  0张三男181111111
  1李四女192222222
  2王五男173333333
  (6)增加行
  df。loc〔len(df)〕〔孙六,男,20〕
  (7)追加
  frompandasimportSeries
  frompandasimportDataFrame
  nameSeries(〔张三,李四,王五〕)
  sexSeries(〔男,女,男〕)
  ageSeries(〔18,19,17〕)
  dfDataFrame({姓名:name,性别:sex,年龄:age})建立DataFrame,变量名为df
  name1Series(〔孙六,候七〕)
  sex1Series(〔男,女〕)
  age1Series(〔19,17〕)
  df1DataFrame({姓名:name1,性别:sex1,年龄:age1})
  建立DataFrame,变量名为df1
  dfdf。append(df1,ignoreindexTrue)
  将对df1追加到df后面,参数ignoreindexTrue表示重新索引
  print(df)
  运行结果:
  姓名性别年龄
  0张三男18
  1李四女19
  2王五男17
  3孙六男19
  4候七女17
投诉 评论 转载

有什么办公软件超级好用,却不被大众所知?感谢邀请。在日常工作中,比较好用的办公软件还是挺多的,至于是不是被大众所知,那就无从查起了,可以给楼主推荐几款。一、Everythingeverything是一款特……美国围堵和遏制中国,英国敢于对美国说不,批准中资收购芯片企业美国从2018年开始了对于中国的贸易战,除了对于中国众多商品加征特别关税之外,还对于中国的高科技企业进行了制裁,无论是特朗普政府还是拜登政府,都是试图在芯片领域与中国进行切割。……腾讯2021年营收5601亿元,人均月薪7。06万元鞭牛士3月24日消息,昨日,腾讯发布2021年业绩报告,总收入为5601亿元,首次突破5000亿元,同比增长16;实现净利润2,248。2亿元,相当于日赚6。16亿元,同比增长……高盛大规模增持阿里巴巴,中概互联网的高光时刻来临高盛公布三季度持仓,大规模增持阿里巴巴根据高盛提交的三季度持仓报告显示,截至9月30日,高盛加仓1747。60万股阿里巴巴,共持有4797。79万股,增持幅度高达57。2……699元!今年最便宜的魅族手机开卖,5000mAh电池48M尽管在去年底魅族官方就向外界宣布即将重启魅蓝手机战略的消息,且今年1月就发布了首发机型魅蓝10,然而硬是让粉丝等了快2个月,这款魅蓝手机才正式到来。就在近日,魅蓝10正式……宗教背景下人人皆罪人,而儒家文化背景下的圣贤和君子却近乎完美我是萨沙,我来回答。这就是基督教文明和儒教(注意不是儒家,有本质不同)文明最大的一个区别。说通俗点,就是人性本恶和人性本善论的区别。基督教认为,人性本恶,人出……Python其实很简单第十九章Pandas之Series与D19。1安装AnacondaAnaconda是Python的一个开源发行版本,它预装了丰富的第三方库,而且主要面向科学计算和数据分析,使用起来要比原版的Python更省时……你OUT了吗,for双层循环可以使用stream方式替代糟粕代码java8已经出了Stream流处理方式,但是实际业务开发时,大部分同学还是下意识的去写for双层循环。一眼看穿繁华这段代码写法就是典型的for双层循环,我……苹果66s相当于什么机型?感谢您的阅读!苹果6和苹果6S这两款手机相当于什么机型?如果说iPhone6和iPhone6S的话,他们可能在性能方面和现在的千元手机相比,都有一些相形见绌。……华为P50E手机今日1008准时开售华为在3月16举行了2022华为全屋智能及全场景新品春季发布会,余承东在此带来了华为P50E手机新品。华为P50E仅有两个版本,将于今日上午10:08准时开售:8GB12……什么牌子的燃气热水器质量好?要点一是选购与你家庭使用燃气种类一致的热水器。消费者要弄清你家庭使用是何种燃气气源。要点二是地理位置。因为南北温差及洗浴习惯不同,所以在选择的时候应注意。国产……我市一项目入选国家创新领航应用案例淄博日报记者杨秋云报道本报讯1月16日,记者从市工信局获悉,我市智洋创新基于人工智能的无信号区输电线路智能监测系统创新应用项目入选工信部2021年工业互联网平台创新领航应……
交通运输部网约车须降低过高抽成比例数字人民币试点城市扩容满月有平台企业新增体验用户超440万3月28日起,滴滴优享统一切换至快车!快车司机还能熬得住么?为何年轻人攒钱也要入手iQOO7?这该死的旗舰魅力华为,隐形光伏霸主为什么华为让外国人感到害怕?2022年,不被看好的折叠屏将井喷式发展,不再是高不可攀的万恒大汽车如何一飞冲天?吾有上中下三策多地启用电动车新国标,电动自行车会成为第二个万亿赛道吗?七八十岁的老年人,用智能手机的很少,你们身边有老人用的吗?苹果iPhone算不算高端品牌?网友直呼要卖肾了还不高端吗?同级最强PLUS!传祺GS4PLUS预售13。5万元起人身伤害误工费间接损失是否可以得到赔偿你的电脑将在一分钟后自动重启解决方案平型关战役八路军奋勇杀敌中国战胜日本的第一战役历史上抗战时期日本人真的会说大大的有日本人会说中唯有门前镜湖水,春风不改旧时波。意思翻译、赏析描写玉龙雪山的优美句子背着这些匪夷所思的包包出街真的闪瞎我的眼直刘海怎么剪空气刘海齐肩短发怎么编发好看你见过最美的手机是哪部?创新思路畅通政银企对接渠道曾晟专题研究全区金融工作是什么诱发富士康大陆上市的冲动?2021年值得考虑的4部手机,几乎零差评,你用上了哪部?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利