pandas数据结构

2017-09-01

Series

  • Series是一种类似于一维数组的对象,它由一组数据(numpy数据类型)以及一组与之相关的数据标签(索引)组成。
    inputs:
      from pandas import Series
      obj = Series([4, 7, -5, 3])
      obj
    outputs:
      0    4
      1    7
      2   -5
      3    3
      dtype: int64
    
  • Series的字符串表现形式为:索引在左边,值在右边。默认索引为从0开始的自然数。
    inputs:
      obj.values
    outputs:
      array([ 4,  7, -5,  3])
    inputs:
      obj.index
    outputs:
      RangeIndex(start=0, stop=4, step=1)
    
  • Series也可以指定索引:
      inputs:
        obj2 = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'] )
        obj2
      outputs:
        d    4
        b    7
        a   -5
        c    3
        dtype: int64
    
  • 与普通numpy数组相比,可以通过索引的方式获取Series对象的单个或一组值
    obj2['a']
    obj2['c', 'a', 'd']
    
  • numpy数组运算都会保留索引和值之间链接。
  • Series类似于一个定长的有序字典,因为它也是索引值到数据值的一个映射。
    inputs:
      'd' in obj2
      4 in obj2
    outputs:
      True
      False
    
  • 如果数据被存放在一个python字典中,也可以直接通过字典来创建Series。
    • 如果只传入一个字典,则Series对象的索引就是原字典的键(有序排列)。
      inputs:
      sdata = {'Ohio': 35000, 'Texas':71000, 'Oregon':16000, 'Utah':5000}
      obj3 = Series(sdata)
      obj3
      outputs:
      Ohio      35000
      Oregon    16000
      Texas     71000
      Utah       5000
      dtype: int64
      

未完待续…