概述
-
Series是Pandas中的最基本的数据结构对象,是DataFrame的列对象或者行对象,series本身也具有行索引。
-
Series是一种类似于一维数组的对象,由下面两个部分组成:
-
values:一组数据(numpy.ndarray类型)
-
index:相关的数据行索引标签;如果没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。
-
创建方式
1.自动生成行索引(默认从0开始)
import pandas as pd
import numpy as np
#创建ndarray对象
arr = np.array([1,2,3])
#将其作为参数(数据), 传入Series, 构建: Pandas的Series对象
s1 = pd.Series(data=arr)
print(s1)
结果为
2.自定义行索引
s2 = pd.Series(data=arr, index=['A', 'B', 'C'])
print(s2)
结果为
3.上述格式语法糖, 即: 直接传入: 列表, 元组, 字典即可
Ⅰ:传入列表
s3 = pd.Series([1, 2, 3],index=['A', 'B', 'C'])
print(s3)
Ⅱ:传入元组
s4 = pd.Series((1, 2, 3),index=['A', 'B', 'C'])
print(s4)
Ⅲ:传入字典
s5 = pd.Series({'A': 1, 'B': 2, 'C': 3})
print(s5)
Series常用属性
以下通过s4展示属性的效果
loc:通过行索引获取数据,并且以列的形式展示。行索引为ABC这一列。
iloc: 通过行号获取数据,并且以列的形式展示。行号默认从0开始。
dtype或dtypes: Series内容的类型。因为数据为1,2,3,所以为int64类型。如果数据是字符串形式,则为object类型。
shape与size:shape表示维度,在这里有A,B,C3行元素。size表示有多少元素个数,在这里有1,2,3,这三个元素。
values:获取元素的值
index:获取索引值
以上是简单的例子,可能对于loc与iloc其中的将数据以列的形式展示以及shape与size表现的并不是很直观,以下通过一个例子更具体的来看一下。
在这里,原有索引行默认的从0开始。为了展示loc与iloc的区别,我们将Name这一列作为索引行。
loc:通过索引行来获取数据,并且将结果以列的形式展示。比如我们要获取第一行的数据。
在上述结果中,我们可以看出原来列:Born ,Died,Age,Occupation变成了行。各自的数据内容以列的形式展示出来。且我们是用'Rosaline Franklin'作为行索引的,可以说行索引你想它是啥就可以是啥。
iloc:通过行号来获取数据。同样要获取第一行的数据。
行号默认是从0开始的,所以我们要获取第一行的数据,得输入0而不是1。
shape与size:shape就可以理解为5行4列,而size则可以认为是5*4=20,一共20条数据。
还记得一开始的例子吗?
它为什么是(3,)呢?
因为ABC是它的索引行,所以他的shape为(3,)