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和shell变量互相传递的几种方法
Nov 20 Python
微信跳一跳小游戏python脚本
Jan 05 Python
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
python调用Matplotlib绘制分布点图
Oct 18 Python
Pytorch 神经网络—自定义数据集上实现教程
Jan 07 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 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
php 中文和编码判断代码
2010/05/16 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
jquery div 居中技巧应用介绍
2012/11/24 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
javascript常用方法汇总
2014/12/02 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
Python实现把数字转换成中文
2015/06/29 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
商场中秋节活动方案
2014/02/07 职场文书
安全生产先进个人总结
2015/02/15 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers