pandas 数据结构之Series的使用方法


Posted in Python onJune 21, 2019

1. Series

Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。

1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会使用默认索引(从0到N-1)。

# 引入Series和DataFrame
In [16]: from pandas import Series,DataFrame
In [17]: import pandas as pd

In [18]: ser1 = Series([1,2,3,4])

In [19]: ser1
Out[19]: 
0  1
1  2
2  3
3  4
dtype: int64

1.2 当要生成一个指定索引的Series 时候,可以这样:

# 给index指定一个list
In [23]: ser2 = Series(range(4),index = ["a","b","c","d"])

In [24]: ser2
Out[24]: 
a  0
b  1
c  2
d  3
dtype: int64

1.3 也可以通过字典来创建Series对象

In [45]: sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}

In [46]: ser3 = Series(sdata)
# 可以发现,用字典创建的Series是按index有序的
In [47]: ser3
Out[47]: 
Ohio   35000
Oregon  16000
Texas   71000
Utah    5000
dtype: int64

在用字典生成Series的时候,也可以指定索引,当索引中值对应的字典中的值不存在的时候,则此索引的值标记为Missing,NA,并且可以通过函数(pandas.isnull,pandas.notnull)来确定哪些索引对应的值是没有的。 

In [48]: states = ['California', 'Ohio', 'Oregon', 'Texas']

In [49]: ser3 = Series(sdata,index = states)

In [50]: ser3
Out[50]: 
California    NaN
Ohio     35000.0
Oregon    16000.0
Texas     71000.0
dtype: float64
# 判断哪些值为空
In [51]: pd.isnull(ser3)
Out[51]: 
California   True
Ohio     False
Oregon    False
Texas     False
dtype: bool

In [52]: pd.notnull(ser3)
Out[52]: 
California  False
Ohio      True
Oregon     True
Texas     True
dtype: bool

1.4 访问Series中的元素和索引:

# 访问索引为"a"的元素
In [25]: ser2["a"]
Out[25]: 0
# 访问索引为"a","c"的元素
In [26]: ser2[["a","c"]]
Out[26]: 
a  0
c  2
dtype: int64
# 获取所有的值
In [27]: ser2.values
Out[27]: array([0, 1, 2, 3])
# 获取所有的索引
In [28]: ser2.index
Out[28]: Index([u'a', u'b', u'c', u'd'], dtype='object')

1.5 简单运算

在pandas的Series中,会保留NumPy的数组操作(用布尔数组过滤数据,标量乘法,以及使用数学函数),并同时保持引用的使用

In [34]: ser2[ser2 > 2]
Out[34]: 
a  64
d   3
dtype: int64

In [35]: ser2 * 2
Out[35]: 
a  128
b   2
c   4
d   6
dtype: int64

In [36]: np.exp(ser2)
Out[36]: 
a  6.235149e+27
b  2.718282e+00
c  7.389056e+00
d  2.008554e+01
dtype: float64

1.6 Series的自动对齐

Series的一个重要功能就是自动对齐(不明觉厉),看看例子就明白了。 差不多就是不同Series对象运算的时候根据其索引进行匹配计算。

# ser3 的内容
In [60]: ser3
Out[60]: 
Ohio   35000
Oregon  16000
Texas   71000
Utah    5000
dtype: int64
# ser4 的内容
In [61]: ser4
Out[61]: 
California    NaN
Ohio     35000.0
Oregon    16000.0
Texas     71000.0
dtype: float64
# 相同索引值的元素相加
In [62]: ser3 + ser4
Out[62]: 
California     NaN
Ohio      70000.0
Oregon     32000.0
Texas     142000.0
Utah        NaN
dtype: float64

1.7 命名

Series对象本身,以及索引都有一个 name 属性

In [64]: ser4.index.name = "state"

In [65]: ser4.name = "population"

In [66]: ser4
Out[66]: 
state
California    NaN
Ohio     35000.0
Oregon    16000.0
Texas     71000.0
Name: population, dtype: float64

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中将字典转换成其json字符串
Jul 16 Python
Python用GET方法上传文件
Mar 10 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
Python3中函数参数传递方式实例详解
May 05 Python
python防止随意修改类属性的实现方法
Aug 21 Python
Python解析json代码实例解析
Nov 25 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
Python2和Python3中@abstractmethod使用方法
Feb 04 Python
基于Python的OCR实现示例
Apr 03 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
Django程序的优化技巧
Apr 29 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 #Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 #Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 #Python
十分钟搞定pandas(入门教程)
Jun 21 #Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 #Python
python实现Dijkstra算法的最短路径问题
Jun 21 #Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 #Python
You might like
APMServ使用说明
2006/10/23 PHP
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
jQuery 源码分析笔记
2011/05/25 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
js代码实现微博导航栏
2015/07/30 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
jQuery提示插件alertify使用指南
2015/04/21 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Python3爬虫全国地址信息
2019/01/05 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
《和田的维吾尔》教学反思
2014/04/14 职场文书
养牛场项目建议书
2014/05/13 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电