Series
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的更多相关文章
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 数据分析(8):Series介绍
Series Series由一组数据及索引组成 索引 采用默认索引 data = pd.Series([4, 3, 2, 1]) 自定义索引 data = pd.Series([4, 3, 2, 1] ...
- POJ 3233Matrix Power Series
妈妈呀....这简直是目前死得最惨的一次. 贴题目: http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Mem ...
- highchart 添加新的series
code: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...
- pandas 学习(1): pandas 数据结构之Series
1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...
- (转)LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION
LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION Wed 21st Dec 2016 Neural Networks these days are th ...
- Time Series data 与 sequential data 的区别
It is important to note the distinction between time series and sequential data. In both cases, the ...
- survey on Time Series Analysis Lib
(1)I spent my 4th year Computing project on implementing time series forecasting for Java heap usage ...
随机推荐
- Dynamics CRM 请求服务时报access is denied错误
在javascript脚本里使用ODATA向组织服务发请求时报错,请求被拒绝了,后经人点拨得知是脚本跨域的问题,原因如下:访问系统我用的是IP地址,但通过 Xrm.Page.context. cont ...
- 用LED灯和按键来模拟工业自动化设备的运动控制
开场白: 前面三节讲了独立按键控制跑马灯的各种状态,这一节我们要做一个机械手控制程序,这个机械手可以左右移动,最左边有一个开关感应器,最右边也有一个开关感应器.它也可以上下移动,最下面有一个开关感应器 ...
- Hibernate统计表中的条数
/** * 判断积分日志表中是否有某个用户的注册日志 */@Transactional(propagation = Propagation.REQUIRED)public boolean isE ...
- 【Visual C++】游戏编程学习笔记之一:五毛钱特效之透明和半透明处理
本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44163799 作者:ZeeCod ...
- Android Camera开发系列(下)——自定义Camera实现拍照查看图片等功能
Android Camera开发系列(下)--自定义Camera实现拍照查看图片等功能 Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 上 ...
- JAVA中重写equals()方法的同时要重写hashcode()方法
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...
- application之OnLowMemory()和 OnTrimMemory(level)讲解
1. OnLowMemory OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLo ...
- cocos2dx 跨平台编译遇到的几个问题
首先声明一下自己用的版本 vs2010 cocos2d-x_2.2 ndk_r9 1. 安装cygwin之后,也设置好了 ndk_root, 但是 cd $NDK_ROOT 进入不了, 只好 ...
- C# /VB.NET 插入、修改、删除Word批注
批注内容可以是对某段文字或内容的注释,也可以是对文段中心思想的概括提要,或者是对文章内容的评判.疑问,以及在阅读时给自己或他人起到提示作用.本篇文章中将介绍如何在C#中操作Word批注,主要包含以下要 ...
- javaScript(4)---数据类型
javaScript(4)---数据类型 第4章 数据类型 学习要点: 1.typeof操作符 2.Undefined类型 3.Null类型 4.Boolean类型 5.Number类型 6.Stri ...