Pandas数据结构-Series

来源:互联网 发布:股大师软件下载 编辑:程序博客网 时间:2024/06/05 17:31

pandas主要数据对象为Series和DataFrame。
Series
Series是一个一维类似数组对象,包含一个数组的数据和一个与数组关联的数据标签。
若不指定索引值,则默认从0开始计数。可以分别使用values和index属性来获取Series的数值和索引值。例如:

ser1=pd.Series([1,3,4,3])print(ser1.values)print(ser1.index)>>[1 3 4 3]>>RangeIndex(start=0, stop=4, step=1)

同时,也可以创建一个带索引的Series对象。例如:

ser2=pd.Series([1,3,4,3], index=['a','b','v','d'])print(ser2)>>  a    1    b    3    v    4    d    3    dtype: int64

index的值可以进行修改,ser.index=range(len(ser))将index的值修改成了从0开始。或者直接赋值更改。
可以直接将dict中的值存入Series中。例如:

dict1={'b': 1, 'a': 2, 'c': 3}ser3=pd.Series(dict1)print(ser3)>>  a    2    b    1    c    3    dtype: int64

可以看出,dict中的索引通过排序后存入Series中。
Series也可以转换为dict。将series中的index作为keys,对应的值作为dict的values。例如:

ser2=pd.Series([1,3,4,3], index=['a','b','v','d'])dict2=dict(ser2)print(dict2)>>{'a': 1, 'b': 3, 'v': 4, 'd': 3}

Series中检测数据丢失,可使用ser.isnull(),若返回值为True,则数据丢失。
Series可以直接使用索引值来获取value或者修改value。例如:

ser2=pd.Series([1,3,4,3], index=['a','b','v','d'])print(ser2['d'])ser2['b']=7print(ser2)>>  3    a    1    b    7    v    4    d    3    dtype: int64

或者使用replace属性,例如ser.replace(1,11)将1替换成11。
在算术运算中,Series会自动对齐不同索引的数据。
Series对本身和索引都有一个name属性,可使用ser.name和ser.index.name获取。
对Series升序降序排列,可以使用:

data.sort_values(ascending = False) #降序排列data.sort_values(ascending = True) #升序排列

求Series的累计和可以使用:

data.cumsum()