登录
首页精彩阅读Python数据分析之pandas数据结构
Python数据分析之pandas数据结构
2020-03-31
收藏


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构

作者 | CDA数据分析师


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


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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

  1. Series数据结构
  2. Series是什么


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


2、创建一个Series


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


(1)传入一个列表


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


(2)指定索引


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


(3)传入一个字典


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


  1. DataFrame表格型数据结构
  2. DataFrame是什么


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


2、创建一个DataFrame


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


(1)传入一个列表


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


(2)传入一个嵌套列表


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


(3)指定行、列索引


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


(4)传入一个字典


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


3、获取DataFrame的行、列索引


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


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


Python数据分析之<a href='/map/pandas/' style='color:#000;font-size:inherit;'>pandas</a>数据结构


4、获取DataFrame的值


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


数据分析咨询请扫描二维码

客服在线
立即咨询