Series的概念和基础构成
中文叫做序列,pandas模块的一种数据类型。
是一个一维的、带索引(index)的数组对象。
右侧是一个print出来的Series,它由3部分构成。
左侧是索引(index),右侧是值(values),下面是值(values)的数据类型。
一个索引对应一个值。索引和值之间,有空格隔开。
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构造函数
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模块。
第3行和第4行,定义了两个列表。
第6行,使用pd.Series()构造函数,创建了一个Series,并赋值给了变量info。
第8行,输出info。
第一个常用参数:data
pd.Series()中,参数data表示需要传入的数据,可以是列表,常量,数组等。
示例中,GDP是一个列表,传入了pd.Series()函数中,列表中的元素会成为Series中的值(values)。
注意:如果不传入数据,会生成一个空的Series。
第二个常用参数:index
参数index用于定义Series的索引(index)。
只需要将另一个列表赋值给参数index。
示例中,我们将定义的列表city赋值给参数index。
city中的值,会成为Series的index。
若不传入参数index,那么生成的Series的索引(index)就会默认从0开始生成。
需要注意:作为index的列表,和作为值的列表,元素个数需要一致,否则会报错。
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的代码如下:
# 导入pandas模块,简称pd
import pandas as pd
# TODO 使用Series构造函数,传入参数:常量6作为值,列表["a", "b", "c", "d"]作为index,构造出的Series赋值给s
s = pd.Series(6, index=["a", "b", "c", "d"])
# 输出s这个Series
print(s)