从Series的定义、创建、索引、取值/赋值、操作、命名几个方面进行学习。
定义
Series 是pandas的数据形式之一,其实质是创建了一个加了索引的一维数组,其内容的数据类型只能为一种,不能出现两种以上的数据类型,比如int和str不能同时存在。
创建 Series的创建有多种形式,如列表创建,字典创建、数组创建等
列表创建:
Series的创建格式为:obj=Series([list],index),其中list为列表,index为列表索引,可指定index,也可不指定,若不指定index,则默认创建索引1.2.3.4.5....
如:
import pandas as pd
from pandas import Series, DataFrame
list1=[1,2,3,4,5]
obj=Series(list1,index=['a','b','c','d','e'])
obj1=Series(list1)
obj
Out[10]:
a 1
b 2
c 3
d 4
e 5
dtype: int64
obj1
Out[11]:
0 1
1 2
2 3
3 4
4 5
dtype: int64
字典创建:
Series的创建格式为:obj=Series(dict),其中字典的索引成为Series的index
sdata={'da':112,'fs':32,'gd':32}
In [15]:obj2=Series(sdata)
Out[15]: obj2
da 112
fs 32
gd 32
dtype: int64
数组创建:
obj=Series(array,index),其中若指定index,则index数量必须与array数量一致。array必须为一维数组。
Series(np.random.randn(5))
Out[5]:
0 -1.532911
1 -2.122150
2 -1.821477
3 -1.854897
4 0.985606
dtype: float64
Series索引
Series索引的查看方式为Series.index,其结果为一个列表,其操作符合列表的相关操作,如切片、取值等
In [21]:obj2.index
Out[21]: Index(['da', 'fs', 'gd'], dtype='object')
obj2.index[0]
Out[23]: 'da'
obj2.index[:2]
Out[24]: Index(['da', 'fs'], dtype='object')
通过Series.index=[list],可修改index,但需注意,list的数量需与原index的数量保持一致。
通过指定index的某一个元素位置来进行修改是不可行的。
附:obj1创建时没有指定index,系统自动创建的index,在obj1.index时其结果显示为rangeindex,即start=0,stop=5,步长step=1,其也符合列表相关操作
obj1.index
Out[30]: RangeIndex(start=0, stop=5, step=1)
取值/赋值
Series为一维数组,其取值方式符合切换、索引取值等操作,如
obj[:2]
Out[31]:
0 1
1 2
dtype: int64
obj*2
Out[32]:
0 2
1 4
2 6
3 8
4 10
dtype: int64
obj[0]=3
obj
Out[34]:
0 3
1 2
2 3
3 4
4 5
dtype: int64
obj*obj
Out[35]:
0 9
1 4
2 9
3 16
4 25
dtype: int64
命名
通过obj.name='Series_practice' #--obj 对象命名
通过 obj.index.name='state' # ---index 命名
如
obj.name='Series_practice'
obj
Out[37]:
0 3
1 2
2 3
3 4
4 5
Name: Series_practice, dtype: int64
obj.index.name='state'
obj
Out[39]:
state
0 3
1 2
2 3
3 4
4 5
Name: Series_practice, dtype: int64