Pandas - Series(级数)
-
简述
Series 是一个一维标记数组,能够保存任何类型的数据(整数、字符串、浮点数、python 对象等)。轴标签统称为索引。 -
Pandas Series
可以使用以下构造函数创建 Pandas Series -pandas.Series( data, index, dtype, copy)
构造函数的参数如下 -序号 参数及说明 1 data数据采用各种形式,如 ndarray、列表、常量2 index索引值必须是唯一且可散列的,与数据的长度相同。默认np.arrange(n)如果没有通过索引。3 dtypedtype 用于数据类型。如果没有,将推断数据类型4 copy复制数据。默认False可以使用各种输入创建一个Series,例如 -- 数组
- 字典
- 标量值或常数
-
创建一个空 Series
可以创建的基本Series是空Series。例子
#import the pandas library and aliasing as pd import pandas as pd s = pd.Series() print s
它的输出如下 -Series([], dtype: float64)
-
从 ndarray 创建一个Series
如果 data 是 ndarray,则传递的索引必须具有相同的长度。如果没有传递索引,则默认情况下索引将是range(n)在哪里n是数组长度,即[0,1,2,3…。range(len(array))-1].示例 1
#import the pandas library and aliasing as pd import pandas as pd import numpy as np data = np.array(['a','b','c','d']) s = pd.Series(data) print s
它的输出如下 -0 a 1 b 2 c 3 d dtype: object
我们没有传递任何索引,所以默认情况下,它分配的索引范围从 0 到len(data)-1,即 0 到 3。示例 2
#import the pandas library and aliasing as pd import pandas as pd import numpy as np data = np.array(['a','b','c','d']) s = pd.Series(data,index=[100,101,102,103]) print s
它的输出如下 -100 a 101 b 102 c 103 d dtype: object
我们在这里传递了索引值。现在我们可以在输出中看到自定义的索引值。 -
从 dict 创建一个Series
一种dict可以作为输入传递,如果未指定索引,则按排序顺序获取字典键以构造索引。如果index被传入时,会拉出索引中标签对应的data中的值。示例 1
#import the pandas library and aliasing as pd import pandas as pd import numpy as np data = {'a' : 0., 'b' : 1., 'c' : 2.} s = pd.Series(data) print s
它的输出如下 -a 0.0 b 1.0 c 2.0 dtype: float64
Observe− 字典键用于构建索引。示例 2
#import the pandas library and aliasing as pd import pandas as pd import numpy as np data = {'a' : 0., 'b' : 1., 'c' : 2.} s = pd.Series(data,index=['b','c','d','a']) print s
它的输出如下 -b 1.0 c 2.0 d NaN a 0.0 dtype: float64
Observe− 索引顺序保持不变,缺失的元素用 NaN(非数字)填充。 -
从标量创建Series
如果数据是标量值,则必须提供索引。该值将被重复以匹配index#import the pandas library and aliasing as pd import pandas as pd import numpy as np s = pd.Series(5, index=[0, 1, 2, 3]) print s
它的输出如下 -0 5 1 5 2 5 3 5 dtype: int64
-
使用位置访问序列中的数据
该Series中的数据可以类似于在ndarray.示例 1
检索第一个元素。正如我们已经知道的,数组的计数从零开始,这意味着第一个元素存储在第零个位置,依此类推。import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve the first element print s[0]
它的输出如下 -1
示例 2
检索Series中的前三个元素。如果在其前面插入 :,则从该索引开始的所有项目都将被提取。如果使用两个参数(它们之间有:),则两个索引之间的项目(不包括停止索引)import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve the first three element print s[:3]
它的输出如下 -a 1 b 2 c 3 dtype: int64
示例 3
检索最后三个元素。import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve the last three element print s[-3:]
它的输出如下 -c 3 d 4 e 5 dtype: int64
-
使用标签(索引)检索数据
A Series就像一个固定大小的dict因为您可以通过索引标签获取和设置值。示例 1
使用索引标签值检索单个元素。import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve a single element print s['a']
它的输出如下 -1
示例 2
使用索引标签值列表检索多个元素。import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve multiple elements print s[['a','c','d']]
它的输出如下 -a 1 c 3 d 4 dtype: int64
示例 3
如果不包含标签,则会引发异常。import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve multiple elements print s['f']
它的输出如下 -… KeyError: 'f'