大数跨境
0
0

Python进阶:数据分析利器之Pandas

Python进阶:数据分析利器之Pandas 数据皮皮侠
2019-10-07
0
导读:前言本期重点在于学习基于python的数据分析包pandas的相关内容。

前言

本期重点在于学习基于python的数据分析包pandas的相关内容。


内容结构:

1.学习pandas导入的基础方法,pandas两个核心数据结构Series与DataFrame的构造。

2.pandas的基本操作:包括查找索引、删除、切片和排序排名。

1

pandas与它的导入方法

pandas是基于Numpy构建的含有更高级数据结构和工具的数据分析包,它约定俗成的导入方法如下:

在导入pandas数据分析包之后,我们来学习如何构建Series和DataFrame这两个核心数据结构。


首先是作为一维的序列的Series对象的构造,任意的一维数据都可以用来构造,包括字符和数字等。最简单的Series序列构造方法如下:

在运行代码得到序列s的结构:

接下来我们分析Series对象包含两个主要属性,一个是右边一列的values,用来表示数据的值;一个是左边一列的index,用来表示数据的所处的位置,在没有设定的默认情况下,index按顺序从0开始排列。如果要设定index的初始值,则可以使用如下方式来进行设定,将index按顺序设定为a,b,c,d:

得到Series对象s的结构为:

其中,Series对象中的元素会严格按照index来构建,若存在data的缺失,则会出现NaN的值,若存在data值的数量超过index值的数量则无法构建模型。


之后我们来讲作为二维数据结构的DataFrame。DataFrame是一个表格型的数据,它由一组index和多组values构成,每组values可以是不同的类型,可以看成是index相同的Series的集合。

DataFrame的构造方法与Series类似,可以使用如下方法构造:

但是使用这种方法构造会导致代码过长容易混淆出错,因此可以使用如下方法进行替代:

先将data数据独立,之后用DataFrame函数将data中的数据组引入,同时可以使用columns来调节数据组名字的顺序,得到如下的结果:

在DataFrame中若出现缺失值也会由NaN来填补,范例如下:


2

基于pandas的基本操作

接下来讲一些pandas的基本操作。


第一个基本操作是查找索引,使用“x[x== ]”进行查找,我们使用本文最开始的Series序列s查找python:

运行之后我们可以得到如下的结果:

查找索引还可以延伸为重新索引,通过.reindex函数实现,用序列s做示范得如下结果:

S中index的顺序随着t中index的顺序排列了,同时缺失的e的value由NaN取代,排列成如图中所示的结果。如果结果中出现缺失值,可以使用fill_value与method=’ffill’进行填充,结果如下:

可以看出fill_value是使用特定值进行填充,而method=’ffill’是使用上一个值来填充。


第二个操作方法是删除指定轴上的项,即删除Series上的一个元素或者DataFrame的某一行(列),方法如下:

需要注意的是.drop()返回的是一个新对象,元对象不会改变。


第三个基本操作是索引和切片,语法为obj[:],需要注意的是,由于pandas的index并不仅限于整数,当index为非整数时,切片是末端包含的,结果显示如下:

我们可以发现当使用截取到‘c’时,结果包含了‘c’,这就是末端包含。


而对于DataFrame而言,标准切片语法为.ix[:,:],即可以从两个方向上切片,范例如下:

整体而言除语法不同外与Series的切片注意点类似。


第四个基本操作是排序与排名。如果要对Series的index进行排序,则语法为.sort_index,如果是对values进行排序,则语法为.sort_value,结果显示如下:

当对DataFrame进行排序时,需要规定一个比较的参数,且语法都为.sort_index,范例如下:

图中就是根据l3列对数据进行了排序。


排名函数的语法为.rank,与排序不同的是它会把对象的value替换成名次,范例如下:


3

结束语

pandas作为python中非常重要的一种数据分析包,它的功能非常强大,使用起来也非常便捷,是一种很好的数据处理工具。本期内容中讲了一部分基础的操作,希望能对大家有所帮助,也希望大家能够和我一起在学习中进步。

本期作者:戴力

本期编辑校对:秦范

长按,关注数据皮皮侠


【声明】内容源于网络
0
0
数据皮皮侠
社科数据综合服务中心,立志服务百千万社科学者
内容 2137
粉丝 0
数据皮皮侠 社科数据综合服务中心,立志服务百千万社科学者
总阅读2.6k
粉丝0
内容2.1k