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

 In [1]: from pandas import Series

 In [2]: import pandas as pd

 In [3]: ser = Series([1,2,3,-1,-2])

 In [4]: ser
Out[4]:
0 1
1 2
2 3
3 -1
4 -2
dtype: int64

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

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

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

 In [10]: ser1 = Series([2,3,-4,-5],index = ['a','b','c','d'])

 In [11]: ser1
Out[11]:
a 2
b 3
c -4
d -5
dtype: int64 In [12]: ser1.index
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

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

 In [19]: ser1
Out[19]:
a 2
b 5
c -4
d -5
dtype: int64 In [20]: ser1 * 2
Out[20]:
a 4
b 10
c -8
d -10
dtype: int64 In [21]: ser1[ser1 > 0]
Out[21]:
a 2
b 5
dtype: int64

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

 In [22]: 'a' in ser1
Out[22]: True In [23]: 'e' in ser1
Out[23]: False

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

 In [32]: data = {'Tom':100,'Alia':98,'Abel':80}

 In [33]: datas = Series(data)

 In [34]: datas
Out[34]:
Abel 80
Alia 98
Tom 100
dtype: int64

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

 In [35]: states = ['Call','Tom','Alia','Abel']

 In [36]: sim = Series(datas,index=states)

 In [37]: sim
Out[37]:
Call NaN
Tom 100.0
Alia 98.0
Abel 80.0
dtype: float64

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

 In [38]: pd.isnull(sim)
Out[38]:
Call True
Tom False
Alia False
Abel False
dtype: bool In [39]: pd.notnull(sim)
Out[39]:
Call False
Tom True
Alia True
Abel True
dtype: bool

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

 In [42]: sim.name = 'student'

 In [43]: sim.index.name = 'class'

 In [44]: sim
Out[44]:
class
Call NaN
Tom 100.0
Alia 98.0
Abel 80.0
Name: student, dtype: float64

Series的更多相关文章

  1. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 数据分析(8):Series介绍

    Series Series由一组数据及索引组成 索引 采用默认索引 data = pd.Series([4, 3, 2, 1]) 自定义索引 data = pd.Series([4, 3, 2, 1] ...

  4. POJ 3233Matrix Power Series

    妈妈呀....这简直是目前死得最惨的一次. 贴题目: http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Mem ...

  5. highchart 添加新的series

    code: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...

  6. C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

    http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...

  7. pandas 学习(1): pandas 数据结构之Series

    1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...

  8. (转)LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION

    LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION Wed 21st Dec 2016   Neural Networks these days are th ...

  9. Time Series data 与 sequential data 的区别

    It is important to note the distinction between time series and sequential data. In both cases, the ...

  10. survey on Time Series Analysis Lib

    (1)I spent my 4th year Computing project on implementing time series forecasting for Java heap usage ...

随机推荐

  1. 《java入门第一季》之类(Object类)

    package cn.itcast_01; /* * Object:类 Object 是类层次结构的根类.每个类都使用 Object 作为超类. * 每个类都直接或者间接的继承自Object类. * ...

  2. CSS解决无空格太长的字母,数字不会自动换行的问题

    其实很简单,代码如下所示,注意 Style: <div class="detail_title" style="word-break: break-all;&quo ...

  3. SoftMax regression

    最终收敛到这个结果,巨爽. smaple 0: 0.983690,0.004888,0.011422,likelyhood:-0.016445 smaple 1: 0.940236,0.047957, ...

  4. Android切换前后置摄像头并录制视频

    项目需要对微信的视频模块也看了一下,在此就对这块进行了一个开发.首先给出效果图 首先给出java代码 /** * RecordActivity.java * 版权所有(C) 2013 * 创建:cui ...

  5. android 应用模式之mvp

    说到MVP就不得不提到MVC,做过J2EE的猿友们肯定知道MVC是个什么东西.MVC即 Model.View.Controller, 那MVP就Model.View.Presenter.Model用于 ...

  6. PHP变量的定义与相应的数据类型

    在PHP中,变量的定义和C语言定义的方法是类似的,但是在PHP中,变量使用起来就非常灵活,一个变量既可以做整型,也可以是浮点型,也可以是字符串或者字符类型,通通只要在变量名前面加一个$然后加上你的变量 ...

  7. 新闻网站开发-手机端-基于Wordpress

    暂时写下来下面记录整个网站制作流程,由于是边学便用,代码质量和性能不能保证,仅仅为之前没做过的朋友提供个小小的参考: 下面先贴出网站,记得用手机或者[Opera Mobile Emulator]打开, ...

  8. IOS中用到的缓存

    App已经与我们形影不离了,不管在地铁上.公交上还是在会场你总能看到很多人拿出来手机,刷一刷微博,看看新闻. 据不完全统计有近一半的用户在非Wifi环境打开App,以下为一个典型iPhone和Andr ...

  9. javascript中正则表达式和ruby中的一点差异

    看到一个例子,不过这个例子中正则表达式的格式貌似是错的: Function.prototype.get_name = function(){ return this.name || this.toSt ...

  10. 在Mac中使用「dd」指令烧录ISO镜像文件到U盘

    作者:超級efly   發布:2014-07-26 20:22   分類:電腦   閱讀:442   11條評論    大家在Windows系統下可以方便的使用UltraISO程式來燒錄「.ISO」, ...