pandas.Series 数据结构
series简述
pandas.Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),其轴标签统称为索引。
#导入numpy,pandas模块
import numpy as np
import pandas as pd
#创建series数据
s = pd.Series(np.random.rand(5))
#查看数据和数据类型
print(s)
print(type(s))
0 0.580244
1 0.534698
2 0.602974
3 0.314674
4 0.043421
dtype: float64
<class 'pandas.core.series.Series'>
series相比于ndarray,是一个自带索引index的数组 ,也就是由一维数组 + 对应索引组成,series的值也即value,就是一个ndarray, 索引切片功能类似,series和dict相比,series更像一个有顺序的字典(dict本身不存在顺序),其索引原理与字典也相似(字典使用key,而series使用index)。
#分别查看series的index的数据类型和value的数据类型。
print(s.index,type(s.index))
print('\n')
print(s.values,type(s.values))
RangeIndex(start=0, stop=5, step=1) <class ‘pandas.core.indexes.range.RangeIndex’>
[0.58024357 0.53469797 0.60297416 0.31467397 0.04342102] <class ‘numpy.ndarray’>
Series创建
创建方法一:由字典创建,字典的key就是index,字典的values就是series的values
dic = {'a':1 ,'b':2 , 'c':3, '4':4, '5':5}
s = pd.Series(dic)
print(s)
a 1
b 2
c 3
4 4
5 5
dtype: int64
其中,key和values分别可以是数字,字母,或者字符串。
Series 创建方法二:由数组创建(一维数组)
arr = np.random.randn(5)
s = pd.Series(arr)
print(arr)
print(s)
[-0.8452954 1.32154569 -0.5837014 -0.31855135 -0.01677091]
0 -0.845295
1 1.321546
2 -0.583701
3 -0.318551
4 -0.016771
dtype: float64
s = pd.Series(arr, index = ['a','b','c','d','e'],dtype = np.object)
print(s)
a -0.845295
b 1.321546
c -0.583701
d -0.318551
e -0.016771
dtype: object
直接从数组创建时,会默认设置index,也可以修改。
Series:索引
位置下标,类似序列
s = pd.Series(np.random.rand(5))
print(s)
print(s[0],type(s[0]),s[0].dtype)
print(float(s[0]),type(float(s[0])))
0 0.924575
1 0.988654
2 0.426333
3 0.216504
4 0.453570
dtype: float64
0.924575004833 <class 'numpy.float64'> float64
0.9245750048328816 <class 'float'>