zoukankan      html  css  js  c++  java
  • Series

    Series是一种类似于一维数组的对象,是由一维数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。

     1 In [1]: from pandas import Series
     2 
     3 In [2]: import pandas as pd
     4 
     5 In [3]: ser = Series([1,2,3,-1,-2])
     6 
     7 In [4]: ser
     8 Out[4]: 
     9 0    1
    10 1    2
    11 2    3
    12 3   -1
    13 4   -2
    14 dtype: int64

    Series的字符串表现形式为:索引在左边,值在右边。由于没有为数据指定索引,会自动创建一个0到N-1(N为数据的长度)的整数型索引。可以通过Series的values和index属性获取其数组表示形式和索引对象。

    1 In [8]: ser.values
    2 Out[8]: array([ 1,  2,  3, -1, -2])
    3 
    4 In [9]: ser.index
    5 Out[9]: RangeIndex(start=0, stop=5, step=1)

    也可以创建对各个数据点进行标记的索引。

     1 In [10]: ser1 = Series([2,3,-4,-5],index = ['a','b','c','d'])
     2 
     3 In [11]: ser1
     4 Out[11]: 
     5 a    2
     6 b    3
     7 c   -4
     8 d   -5
     9 dtype: int64
    10 
    11 In [12]: ser1.index
    12 Out[12]: Index([u'a', u'b', u'c', u'd'], dtype='object')

    与普通的Numpy数组相比,可以通过索引的方式选取Series中的单个或一组值。

    In [13]: ser1['a']
    Out[13]: 2
    
    In [14]: ser1['b'] = 5
    
    In [15]: ser1
    Out[15]: 
    a    2
    b    5
    c   -4
    d   -5
    dtype: int64

    进行算数运算都会保留索引和值之间的连接。

     1 In [19]: ser1
     2 Out[19]: 
     3 a    2
     4 b    5
     5 c   -4
     6 d   -5
     7 dtype: int64
     8 
     9 In [20]: ser1 * 2
    10 Out[20]: 
    11 a     4
    12 b    10
    13 c    -8
    14 d   -10
    15 dtype: int64
    16 
    17 In [21]: ser1[ser1 > 0]
    18 Out[21]: 
    19 a    2
    20 b    5
    21 dtype: int64

    还可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。

    1 In [22]: 'a' in ser1
    2 Out[22]: True
    3 
    4 In [23]: 'e' in ser1
    5 Out[23]: False

     如果数据被存放在一个Python字典中,可以直接通过这个字典来创建Series。

     1 In [32]: data = {'Tom':100,'Alia':98,'Abel':80}
     2 
     3 In [33]: datas = Series(data)
     4 
     5 In [34]: datas
     6 Out[34]: 
     7 Abel     80
     8 Alia     98
     9 Tom     100
    10 dtype: int64

    如果只传入一个字典,则结果Series中的索引就是源字典的键。

     1 In [35]: states = ['Call','Tom','Alia','Abel']
     2 
     3 In [36]: sim = Series(datas,index=states)
     4 
     5 In [37]: sim
     6 Out[37]: 
     7 Call      NaN
     8 Tom     100.0
     9 Alia     98.0
    10 Abel     80.0
    11 dtype: float64

    在pandas中,NaN表示缺失值,pandas的isnull和notnull函数用于检测缺失数据。

     1 In [38]: pd.isnull(sim)
     2 Out[38]: 
     3 Call     True
     4 Tom     False
     5 Alia    False
     6 Abel    False
     7 dtype: bool
     8 
     9 In [39]: pd.notnull(sim)
    10 Out[39]: 
    11 Call    False
    12 Tom      True
    13 Alia     True
    14 Abel     True
    15 dtype: bool

    Series对象本身及其索引都有一个name属性,该属性跟pandas其他的关键功能关系非常密切。

     1 In [42]: sim.name = 'student'
     2 
     3 In [43]: sim.index.name = 'class'
     4 
     5 In [44]: sim
     6 Out[44]: 
     7 class
     8 Call      NaN
     9 Tom     100.0
    10 Alia     98.0
    11 Abel     80.0
    12 Name: student, dtype: float64
  • 相关阅读:
    JSP内置对象
    Angular $scope和$rootScope事件机制之$emit、$broadcast和$on
    Ionic开发实战
    Entity Framework 5.0 Code First全面学习
    6个强大的AngularJS扩展应用
    使用npm安装一些包失败了的看过来(npm国内镜像介绍)
    自己家里搭建NAS服务器有什么好方案?
    自己动手制作CSharp编译器
    使用Visual Studio Code搭建TypeScript开发环境
    Office web app server2013详细的安装和部署
  • 原文地址:https://www.cnblogs.com/yu-1104/p/7886398.html
Copyright © 2011-2022 走看看