Python数据分析之pandas数据结构——AIU人工智能学院-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 数据>>

数据分析

>>

Python数据分析之pandas数据结构——AIU人工智能学院

Python数据分析之pandas数据结构——AIU人工智能学院

发布:AIU人工智能学院 | 分类:数据分析

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

AIU人工智能学院:数据科学、人工智能从业者的在线大学。数据科学(Python/R/Julia)数据分析、机器学习、深度学习作者|CDA数据分析师之前的文章写了Python的基础知识,从这部分内容开始正式进入到正式的数据分析过程 ...
扫码加入数据分析学习群


AIU人工智能学院:数据科学、人工智能从业者的在线大学。

数据科学(Python/R/Julia)数据分析、机器学习、深度学习


作者 | CDA数据分析师

之前的文章写了Python的基础知识,从这部分内容开始正式进入到正式的数据分析过程中,主要讲述每个数据分析过程都会用到什么操作,这些操作用Excel是怎样实现的,如果用Python,那么代码又该怎么写。

接下来的几章我们会用到Pandas、NumPy、matplotlib这几个模块,在使用它们之前我们需要先将其导入,导入的方法在Python基础知识部分提到过,一个程序中只需要导入一次即可。

https://p3.pstatp.com/large/pgc-image/6d5f721d49564b4c9b9a281f5faa6d8dpandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

为了引用模块时书写方面,上面的代码中用as分别给这几个模块起了别名。所以在本文中见到pd就是代表Pandas,见到np就是代表NumPy,见到plt就是代表matplotlib . pyplot。

  • Series数据结构
  • Series是什么

Series是一种类似于一位数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成。

https://p1.pstatp.com/large/pgc-image/2315fb0f121d4f12bb7aa0ce37d78491pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

上面这样的数据结构就是Series,第一列数字是数据标签,第二列是具体的数据,数据标签与数据是一一对应的,上面的数据用Excel表展示如下表所示:

https://p1.pstatp.com/large/pgc-image/54521db1e2da437a9be23a6dbec9cbb3pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

2、创建一个Series

创建一个Series利用的方法是pd.Series(),通过给Series()方法传入不同的对象即可实现

(1)传入一个列表

传入一个列表的实际如下所示:

https://p3.pstatp.com/large/pgc-image/775c41f111d54b78a1ab4558a3775c64pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

如果只是传入一个列表不指定数据标签,那么Series会默认使用从0开始的数做数据标签,上面的0、1、2、3就是默认的数据标签。

(2)指定索引

直接传入一个列表会使用默认索引,也可以通过设置index参数来自定义索引。

https://p1.pstatp.com/large/pgc-image/a0c3cac59a704dc0a6355c70ad57ea34pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

(3)传入一个字典

也可以将数据与数据标签以key:value(字典)的形式传入,这样字典的key值就是数据标签,value就是数据值。

https://p1.pstatp.com/large/pgc-image/b045a36e119b4001844282d4b4bb5afcpandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">
https://p1.pstatp.com/large/pgc-image/fbf6b1c5a5f84290beb058b5142577c6pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

3、利用index方法获取Series的索引

获取一组数据的索引是比较常见的需求,直接利用index方法 就可以获取Series的索引值,代码如下图所示:

https://p9.pstatp.com/large/pgc-image/d092eeefe641410ca892a21f57e35baepandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

4、利用values方法获取Series的值

与索引值相对用的就是获取Series的值,使用的方法是values方法。

https://p1.pstatp.com/large/pgc-image/ae30a1852bf344c288407e5e69f8b384pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">
  • DataFrame表格型数据结构
  • DataFrame是什么

Series是由一组数据与一组索引(行索引)组成的数据结构,而DataFrame是由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。之所以叫表格型数据结构,是因为DataFrame是数据形式和Excel的数据存储形式很相近,接下来的章节围绕DataFrame这种表格型数据结构展开。下面就是一个简单的DataFrame数据结构。

https://p1.pstatp.com/large/pgc-image/a1d7ddc02cb94229bfac7f5331a70f30pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

上面这种数据结构和Excel的数据结构很像,既有行索引又有列索引,由行索引和列索引确定唯一值。如果把上面这种结构用Excel表展示如下图所示。

https://p1.pstatp.com/large/pgc-image/d7acceb505604c1292bda28424641d9epandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

2、创建一个DataFrame

创建DataFrame使用的方法是pd.Dataframe(),通过DataFrame()的方法传入不同的对象即可实现。

(1)传入一个列表

传入一个列表的实现如下图所示:

https://p3.pstatp.com/large/pgc-image/480f7722fd8f4352b7a83a342c45f574pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

只传入一个单一列表时,该列表的值会显示成一列,且行和列都是从0开始的默认索引。

(2)传入一个嵌套列表

https://p3.pstatp.com/large/pgc-image/9908d0b3dd5d45128e62c5be4adf0a33pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

当传入一个嵌套列表时,会根据嵌套列表数显示成多列数据,行、列索引同样是从0 开始的默认索引。列表里面嵌套的列表也可以换成元组。

https://p1.pstatp.com/large/pgc-image/53369362d4414543a62d28f8c67123c8pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

(3)指定行、列索引

如果只给DataFrame()方法传入列表,DataFrame()方法的行、列索引都是默认值,则可以通过设置columns参数自定义列索引,设置index参数自定义行索引。

https://p1.pstatp.com/large/pgc-image/d23606e1f2d84a11854c8f783990f617pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

(4)传入一个字典

传入一个字典的实现如下图所示。

https://p9.pstatp.com/large/pgc-image/bc86a143e0a14860ba3fbddca4b02c1apandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

直接以字典的形式传入DataFrame时,字典的key值就相当于列索引,这个时候如果没有设置行索引,行索引还是使用从0 开始的默认索引,同样可以使用index参数自定义行索引,代码如下:

https://p3.pstatp.com/large/pgc-image/d16beff740374215bc8e66be8d9a7bcapandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

3、获取DataFrame的行、列索引

利用columns方法获取DataFrame的列索引。

https://p3.pstatp.com/large/pgc-image/08eb56a674e54f0eb240980c2b1392c2pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

利用index方法获取DataFrame的行索引。

https://p1.pstatp.com/large/pgc-image/52319a2dfa1e4258a197a57380fb96b1pandas数据结构" style="border: 0px; max-width: 100%; margin-right: auto; margin-left: auto; display: block;">

4、获取DataFrame的值

获取DataFrame的值就是获取DataFrame中的某些行或列,有关行、列的选择会在后面的内容说到。

关注“AIU人工智能”公众号,回复“录播”获取更多精选直播视频!

完 谢谢观看
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-8231373-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
联系客服
值班时间:工作日(9:00--18:00)