一、Pandas基础:Series

一、Series简介

  • Series是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。

二、Series创建

  • Series通过numpy数组,列表及字典等多重方式进行创建
  • 当使用字典创建时,Series会使用字典的键作为数组的索引值
  • 当使用numpy和列表创建时,Series会以它们的序列号作为索引值,可用index参数自定义索引值
  • Series数组创建后,可以通过.index属性重建索引值
import pandas as pd
a=pd.Series([87,95,84])
print("列表方式(默认索引):\n",a)
b=pd.Series([87,95,84],index=['小红','小兰','小绿'])
print("列表方式(自定义索引):\n",b)
c=pd.Series({'小红':87,'小兰':95,'小绿':84})
print("字典方式:\n",c)
a.index=(['小红','小兰','小绿'])
print("对a重建索引:\n",a)
>>>
列表方式(默认索引):
0    87
1    95
2    84
dtype: int64
列表方式(自定义索引):
小红    87
小兰    95
小绿    84
dtype: int64
字典方式:
小兰    95
小红    87
小绿    84
dtype: int64
对a重建索引:
小红    87
小兰    95
小绿    84
dtype: int64

三、Series查询

四、Series运算

  • 同样的,Series保留了大量Numpy的运算机制,它们在Series中均可以使用。
  • Series进行数组运算的时候,索引与值之间的映射关系不会发生改变。
  • 在操作Series的时候,基本上可以把Series看成NumPy中的ndarray数组来进行操作。(看Numpy运算方法的,点击这里

 五、缺失值检测

  • pandas中的isnull和notnull两个函数可以用于在Series中检测缺失值,这两个函数的返回时一个布尔类型的Series

 

import pandas as pd
a = pd.Series({'小红': 87, '小兰': 95, '小绿': 84, '小英': 99})
new_index = ['小红', '小兰', '小丸子', '小绿', '小英']
a = pd.Series(a, index=new_index)
print("带缺失值的数组:\n", a)
print("列出缺失值项:\n", a[pd.isnull(a)])
print("列出有效值项:\n", a[pd.notnull(a)])
>>>
带缺失值的数组:
小红     87.0
小兰     95.0
小丸子     NaN
小绿     84.0
小英     99.0
dtype: float64
列出缺失值项:
小丸子   NaN
dtype: float64
列出有效值项:
小红    87.0
小兰    95.0
小绿    84.0
小英    99.0
dtype: float64

  

六、自动对齐

  • 当多个series对象之间进行运算的时候,如果不同series之间具有不同的索引值,那么运算会自动对齐不同索引值的数据,如果某个series没有某个索引值,那么最终结果会赋值为NaN。
import pandas as pd
a = pd.Series([12, 23, 34], index=['p1', 'p2', 'p3'])
b = pd.Series([56, 78, 90, 38], index=['p2', 'p3', 'p4', 'p5'])
print("自动对齐索引,对不上的赋值NaN:\n", a + b)
>>>
自动对齐索引,对不上的赋值NaN:
p1      NaN
p2     79.0
p3    112.0
p4      NaN
p5      NaN
dtype: float64

七、数组名称

  • Series对象本身以及索引都具有一个name属性,默认为空,根据需要可以进行赋值操作。
import pandas as pd
a = pd.Series({'小红': 87, '小兰': 95, '小绿': 84, '小英': 99})
a.values.name='成绩'
a.name='考试成绩'
a.index.name='姓名'
print("补全名称的数组:\n", a)
>>>
补全名称的数组:
姓名
小兰    95
小红    87
小绿    84
小英    99
Name: 考试成绩, dtype: int64

  

 

posted @ 2018-01-14 17:16  小小逐月者  阅读(736)  评论(0编辑  收藏  举报