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 生成不重复的随机数的代码
May 15 Python
python中的一些类型转换函数小结
Feb 10 Python
python根据距离和时长计算配速示例
Feb 16 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
Feb 18 Python
python实现下载指定网址所有图片的方法
Aug 08 Python
python学习教程之使用py2exe打包
Sep 24 Python
python3+PyQt5实现拖放功能
Apr 24 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
python中metaclass原理与用法详解
Jun 25 Python
django如何实现视图重定向
Jul 24 Python
jupyter notebook 重装教程
Apr 16 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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导出oracle库的php代码
2009/04/20 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
python协程用法实例分析
2015/06/04 Python
Python中functools模块函数解析
2017/03/12 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
电子商务专业求职信
2014/03/08 职场文书
法人授权委托书格式
2014/04/08 职场文书
查摆问题整改措施
2014/10/24 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL