学习目标2
pandas模块的学习。
pandas是一个基于NumPy的模块,它的功能在于数据的筛选清洗和处理,与NumPy模块相比,pandas模块更擅长处理二维数据。
pandas模块主要有Series和DataFrame两种数据结构。
接下来,我们先学习Series的相关知识:
1. Series的概念
2. 构造一个Series
3. 访问Series数据
4. Series的常用属性
安装与导入pandas
安装pandas
在使用pandas前,我们需要先安装pandas。
在终端中输入代码:pip install pandas即可。
如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/
示例:
导入pandas
在使用pandas模块最开始,由于pandas不是Python的内置模块,我们需要在代码的开头,将pandas模块导入。 |
导入了pandas模块,我们就可以进行数据集的操作啦。接下来, 我们先学习Series的概念和创建。
Series
定义 Series,中文叫做序列,pandas模块的一种数据类型。 是一个一维的、带索引(index)的数组对象。 目前可以先不关注代码的部分,只关注Series。 隐喻 Series,就像排行榜,可以通过有次序的名次,找到对应的玩家名字。 |
右侧是一个print出来的Series,它由3部分构成。 |
Series和字典,有一定的相似之处。 一个字典中,通过键(key),可以访问所对应的值(value)。 Series也是如此,一个Series的索引(index)在左边,值(values)在右边,可以通过左边的索引index访问到右边对应的值values。 |
和字典不同的是: Series中的数据是有顺序的。 除了直接通过index访问外,还能通过0,1,2这样的位置进行访问。 |
Series的index是可以定义的。
如果没有定义index,index就会默认从0开始生成。
Series的值(values)可以是多种数据类型:字符串、整型、浮点型、布尔型。 一个Series在print输出时,值的数据类型会在底部,用dtype标示出来。 需要注意的是,一个Series里的所有值,数据类型都是一样的。 |
代码的作用 这几行代码,构造了一个Series。 第1行,导入pandas模块。 第3行和第4行,定义了两个列表。 第6行,使用pd.Series()构造函数,创建了一个Series,并赋值给了变量info。 第8行,输出info。 | import pandas as pd GDP = [80855, 77388, 68024, 47251, 40471] city = ['GD','JS','SD','ZJ','HN'] info = pd.Series(GDP,index = city) print(info) |
代码的具体解释:
pd.Series( ) 通过调用pandas模块里的Series()函数,可以构造一个Series。 | import pandas as pd GDP = [80855, 77388, 68024, 47251, 40471] city = ['GD','JS','SD','ZJ','HN'] info = pd.Series(GDP,index = city) print(info) |
第一个常用参数:data pd.Series()中,参数data表示需要传入的数据,可以是列表,常量,数组等。 示例中,GDP是一个列表,传入了pd.Series()函数中,列表中的元素会成为Series中的值(values)。 注意:如果不传入数据,会生成一个空的Series。 | import pandas as pd GDP = [80855, 77388, 68024, 47251, 40471] city = ['GD','JS','SD','ZJ','HN'] info = pd.Series(GDP,index = city) print(info) |
第二个常用参数:index 参数index用于定义Series的索引(index)。 只需要将另一个列表赋值给参数index。 示例中,我们将定义的列表city赋值给参数index。 city中的值,会成为Series的index。 若不传入参数index,那么生成的Series的索引(index)就会默认从0开始生成。 需要注意:作为index的列表,和作为值的列表,元素个数需要一致,否则会报错。 | import pandas as pd GDP = [80855, 77388, 68024, 47251, 40471] city = ['GD','JS','SD','ZJ','HN'] info = pd.Series(GDP,index = city) print(info) |
赋值的变量 将pd.Series()函数创建的Series,赋值给了info这个变量。 将info输出可以看到,它是一个Series对象。 值(values)是由列表GDP的值组成; 索引(index)是由列表city的值组成; 值(values)的数据类型是整型。 | import pandas as pd GDP = [80855, 77388, 68024, 47251, 40471] city = ['GD','JS','SD','ZJ','HN'] info = pd.Series(GDP,index = city) print(info) |
总结:
1. 传入列表 导入pandas模块后,我们定义了两个列表GDP和rank。 我们尝试用Series构造函数,传入列表GDP作为Series的值,传入列表rank作为Series的index,赋值给变量info,并将其输出。 |
2. 传入数组 对于pd.Series(data,index),对参数data传入列表是最为常见的。 其实,参数data还可以传入数组。 我们尝试用Series构造函数,传入一维数组GDP作为Series的值,传入列表rank作为Series的index,赋值给变量info,并将其输出。 |
3. 传入常量 pd.Series(data,index)的参数data若是常量,则必须提供索引。 此时常量才能按照索引(index)的数量进行重复,并与其一一对应。 通过常量构造series的代码如下: |
总结:
Series构造函数 |
调用pandas模块里的Series函数,用于构造一个Series。 |
前面,我们了解了Series这种数据结构,学习了如何创建一个Series。
接下来,我们学习访问Series的数据的两种方式