pandas中的series数据类型详解


Posted in Python onJuly 06, 2019

本文介绍了pandas中的series数据类型详解,分享给大家,具体如下:

import pandas as pd
import numpy as np
import names

'''
写在前面的话:
  1、series与array类型的不同之处为series有索引,而另一个没有;series中的数据必须是一维的,而array类型不一定
  2、可以把series看成一个定长的有序字典,可以通过shape,index,values等得到series的属性
'''
# 1、series的创建
'''
(1)由列表或numpy数组创建
    默认索引为0到N-1的整数型索引,如s1;
    可以通过设置index参数指定索引,如s2;
    通过这种方式创建的series,不是array的副本,即对series操作的同时也改变了原先的array数组,如s3
(2)由字典创建
    字典的键名为索引,键值为值,如s4;
'''
n1 = np.array([1, 4, 5, 67, 7, 43, ])
s1 = pd.Series(n1)
# print(s1)
'''
  1
  4
  5
  67
  7
  43
dtype: int32
'''
s2 = pd.Series(n1, index=['a', 'b', 'c', 'd', 'e', 'f'])
# print(s2)
'''
a   1
b   4
c   5
d  67
e   7
f  43
dtype: int32
'''
# print(n1)
'''
[ 1 4 5 67 7 43]
'''
s1[2] = 100
s3 = s1
# print(s3)
'''
   1
   4
  100
  67
   7
  43
dtype: int32
'''
# print(n1)
'''
[ 1  4 100 67  7 43]
'''
dict1 = {}
for i in range(10, 15):
  # names.get_last_name(),随机生成英文名字
  dict1[names.get_last_name()] = i
s4 = pd.Series(dict1)
# print(s4)
'''
Poole   10
Allen   11
Davis   12
Roland  13
Brehm   14
dtype: int64
'''
# 2、series的索引
'''
(1)通过index取值,可以通过下标获取,也可以通过指定索引获取,如s6,s7
(2)通过.loc[](显示索引)获取,这种方式只能获取显示出来的索引,无法通过下标获取,如s7(推荐)
(3)隐式索引,使用整数作为索引值,使用.icol[],如s9(推荐)
'''
s5 = pd.Series(np.array([1, 5, 9, 7, 6, 4, 52, 8]), index=[list('abcdefgh')])
# print(s5)
'''
a   1
b   5
c   9
d   7
e   6
f   4
g  52
h   8
dtype: int32
'''
s6 = s5[2]
# print(s6)
'''
'''
s7 = s5['c']
# print(s7)
'''
c  9
dtype: int32
'''
s8 = s5.loc['c']
# print(s8)
'''
c  9
dtype: int32
'''
s9 = s5.iloc[2]
# print(s9)
'''
'''
# 3、series的切片
'''
  1、series的切片和列表的用法类似,不同之处在于建议使用.loc[:]和.iloc[:],如s10和s11。当然直接使用[:]也可以。
  2、当遇到特别长的series,我们支取出前5条或后5条数据时可以直接使用.head()或.tail()
'''
s5 = pd.Series(np.array([1, 5, 9, 7, 6, 4, 52, 8]), index=[list('abcdefgh')])
# print(s5)
'''
a   1
b   5
c   9
d   7
e   6
f   4
g  52
h   8
dtype: int32
'''
s10 = s5.loc['b':'g']
# print(s10)
'''
b   5
c   9
d   7
e   6
f   4
g  52
dtype: int32
'''
s11 = s5.iloc[1:7]
# print(s11)
'''
b   5
c   9
d   7
e   6
f   4
g  52
dtype: int32
'''
# 4、关于NaN
'''
  (1)NaN是代表空值, 但不等于None。两者的数据类型不一样,None的类型为<class 'NoneType'>,而NaN的类型为<class 'float'>;
  (2)可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据
'''
# print(type(None),type(np.nan))
'''
<class 'NoneType'> <class 'float'>
'''
s12 = pd.Series([1,2,None,np.nan],index=list('烽火雷电'))
# print(s12)
'''
烽  1.0
火  2.0
雷  NaN
电  NaN
dtype: float64
'''
# print(pd.isnull(s12))
'''
烽  False
火  False
雷   True
电   True
dtype: bool
'''
# print(pd.notnull(s12))
'''
烽   True
火   True
雷  False
电  False
dtype: bool
'''
# print(s12.notnull())
'''
烽   True
火   True
雷  False
电  False
dtype: bool
'''
# print(s12.isnull())
'''
烽  False
火  False
雷   True
电   True
dtype: bool
'''
# 取出series中不为空的值
# print(s12[s12.notnull()])
'''
烽  1.0
火  2.0
dtype: float64
'''
# series的name属性
'''

'''
s12.name = '风水'
# print(s12)
'''
烽  1.0
火  2.0
雷  NaN
电  NaN
Name: 风水, dtype: float64
'''

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

Python 相关文章推荐
用Python编程实现语音控制电脑
Apr 01 Python
对python读取CT医学图像的实例详解
Jan 24 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
浅谈matplotlib.pyplot与axes的关系
Mar 06 Python
Keras实现DenseNet结构操作
Jul 06 Python
python数据抓取3种方法总结
Feb 07 Python
python 制作网站小说下载器
Feb 20 Python
python模板入门教程之flask Jinja
Apr 11 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 #Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 #Python
pandas的qcut()方法详解
Jul 06 #Python
pandas 层次化索引的实现方法
Jul 06 #Python
pandas删除行删除列增加行增加列的实现
Jul 06 #Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 #Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 #Python
You might like
adodb与adodb_lite之比较
2006/12/31 PHP
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
js实现简易计算器功能
2019/10/18 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
Python3.6正式版新特性预览
2016/12/15 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
澳大利亚手袋、珠宝和在线时尚精品店:The Way
2019/12/21 全球购物
公司财务自我评价分享
2013/12/17 职场文书
先进党支部事迹材料
2014/01/13 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
政府门卫岗位职责
2014/04/29 职场文书
安全责任书怎么写
2014/07/28 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技