pandas学习笔记-Series
2017-05-02 19:35
483 查看
Series是一种类似于一维数组的对象,它由一组数据(各种numpy数据类型)以及一组与之相关的数据标签(即索引)组成,仅由一组数据即可产生最简单的Series:
Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。可以通过Series的values和index属性获取其数组表示形式和索引对象:
对创建的Series加索引
与普通的numpy数组相比,你可以通过索引的方式选取Series中的单个或一组值:
数组运算都会保留索引和值之间的链接:
可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。它可以用在许多原本需要字典参数的函数中:
如果数据被存放在一个python字典中,也可以直接通过这个字典来创建Series:
如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)。
在这个例子中,sdata中跟states索引相匹配的那3个值会被找出来并放到相应的位置上,但由于“California”所对应的sdata值找不到,所以其结果就为NaN(即“非数字”(not a number),在pandas中,它用于表示确实或NA值)。
pandas的isnull和notnull函数可以用于检测缺失数据:
Series也有类似的实例方法:
对于许多应用而言,Series最重要的一个功能是:它在算数运算中会自动对齐不同索引的数据。
Series对象本身及其索引都有一个name属性,该属性跟pandas其他的关键功能关系非常密切:
Series的索引可以通过赋值的方式就地修改:
import pandas as pd import numpy as np s= pd.Series([1,2,3,4,5]) print s
结果: 0 1 1 2 2 3 3 4 4 5
Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。可以通过Series的values和index属性获取其数组表示形式和索引对象:
print s.values
输出结果 [1 2 3 4 5]
print s.index
输出结果 RangeIndex(start=0, stop=5, step=1)
对创建的Series加索引
s = pd.Series([4,7,-5,3],index=['d','b','a','c']) print s
结果 d 4 b 7 a -5 c 3
print s.index
结果 Index([u'd', u'b', u'a', u'c'], dtype='object')
与普通的numpy数组相比,你可以通过索引的方式选取Series中的单个或一组值:
print s['a']
结果 -5
s['d'] = 6 print s[['c','a','d']]
结果 c 3 a -5 d 6
数组运算都会保留索引和值之间的链接:
print s[s>0]
输出结果 d 6 b 7 c 3
print s*2
输出结果 d 12 b 14 a -10 c 6
print np.exp(s)
输出结果 d 403.428793 b 1096.633158 a 0.006738 c 20.085537
可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。它可以用在许多原本需要字典参数的函数中:
print 'b' in s
结果 True
print 'e' in s
结果 False
如果数据被存放在一个python字典中,也可以直接通过这个字典来创建Series:
sdata = {'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000} s = pd.Series(sdata) print s
结果 Ohio 35000 Oregon 16000 Texas 71000 Utah 5000
如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)。
states = ['California','Ohio','Oregon','Texas'] s = pd.Series(sdata,index=states) print s
结果 California NaN Ohio 35000.0 Oregon 16000.0 Texas 71000.0
在这个例子中,sdata中跟states索引相匹配的那3个值会被找出来并放到相应的位置上,但由于“California”所对应的sdata值找不到,所以其结果就为NaN(即“非数字”(not a number),在pandas中,它用于表示确实或NA值)。
pandas的isnull和notnull函数可以用于检测缺失数据:
print pd.isnull(s)
输出结果 California True Ohio False Oregon False Texas False
print pd.notnull(s)
输出结果 California False Ohio True Oregon True Texas True
Series也有类似的实例方法:
print s.isnull()
输出结果 California True Ohio False Oregon False Texas False
对于许多应用而言,Series最重要的一个功能是:它在算数运算中会自动对齐不同索引的数据。
print obj1 print obj2
结果 Ohio 35000 Oregon 16000 Texas 71000 Utah 5000
dtype: int64
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64
print obj1 + obj2
输出结果 California NaN Ohio 70000.0 Oregon 32000.0 Texas 142000.0 Utah NaN
Series对象本身及其索引都有一个name属性,该属性跟pandas其他的关键功能关系非常密切:
obj2.name = 'population' obj2.index.name = 'state' print obj2
结果 state California NaN Ohio 35000.0 Oregon 16000.0 Texas 71000.0 Name: population, dtype: float64
Series的索引可以通过赋值的方式就地修改:
obj2.index = ['Bob','Steve','Jeff','Ryan'] print obj2
输出结果 Bob NaN Steve 35000.0 Jeff 16000.0 Ryan 71000.0 Name: population, dtype: float64
相关文章推荐
- 我的python学习笔记(4) pandas 之 Series, DataFrame
- Pandas学习笔记(二)
- pandas 学习笔记
- Pandas学习笔记
- 第2章-2 用pandas对时区进行计数 学习笔记
- python学习笔记(二)——Pandas十分钟入门
- [新手-数据分析师]pandas的学习笔记
- SymbianOS Series 60学习笔记一: HelloWorld之晕
- Pandas学习笔记(1)
- Pandas学习:对于Series和DataFrame一些基本操作
- python学习笔记二(pandas基础)
- Pandas学习笔记(一)
- [pandas] 数据类型学习笔记
- pandas学习笔记
- pandas 学习(1): pandas 数据结构之Series
- python中pandas库学习笔记
- pandas学习笔记
- SymbianOS Series 60学习笔记三:数据库初探
- pandas学习笔记(1)--pandas简介
- python中pandas包学习笔记(1)