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实现抓取城市的PM2.5浓度和排名
Mar 19 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
python中如何使用分步式进程计算详解
Mar 22 Python
详解python 爬取12306验证码
May 10 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
python实现小程序推送页面收录脚本
Apr 20 Python
python/golang实现循环链表的示例代码
Sep 14 Python
python+playwright微软自动化工具的使用
Feb 02 Python
pytorch交叉熵损失函数的weight参数的使用
May 24 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
Zerg剧情介绍
2020/03/14 星际争霸
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
小程序实现发表评论功能
2018/07/06 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
农民致富事迹材料
2014/01/23 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
中秋节主持词
2014/04/02 职场文书
一年级学生评语大全
2014/04/21 职场文书
大学活动总结模板
2014/07/10 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
委托公证书格式
2015/01/26 职场文书
南京南京观后感
2015/06/02 职场文书
妈妈别哭观后感
2015/06/08 职场文书
领导新年致辞2016
2015/07/29 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
高中数学课堂教学反思
2016/02/18 职场文书