Python3.5 Pandas模块之Series用法实例分析


Posted in Python onApril 23, 2019

本文实例讲述了Python3.5 Pandas模块之Series用法。分享给大家供大家参考,具体如下:

1、Pandas模块引入与基本数据结构

Python3.5 Pandas模块之Series用法实例分析

Python3.5 Pandas模块之Series用法实例分析

2、Series的创建

Python3.5 Pandas模块之Series用法实例分析

Python3.5 Pandas模块之Series用法实例分析

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu

#模块引入
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#1.Series通过numpy一维数组创建
print("=========Series通过numpy一维数组创建==========")
arr = np.array([1,2,3,4,5])
s1 = pd.Series(arr)
print(s1)
print(s1.index)
print(s1.values)

#2.Series直接通过一维数组创建
print("=========Series直接通过一维数组创建==========")
s2 = pd.Series([10.5,20,38,40])
print(s2)
#修改索引值
s2.index = ['a','b','c','d']
print(s2)

#Series通过一维数组创建,可以在创建的同时自定义索引值,
# 也可以之后通过赋值的形式去修改
print("=========Series创建的同时自定义索引值和数据类型==========")
s3 = pd.Series(data=[89,78,90,87],dtype=np.float64,
        index=['语文','数学','英语','科学'])
print(s3)

#3.Series通过字典创建,字典的键对应索引,值对应数据
print("=========Series通过字典创建==========")
dict = {'a':1,'b':2,"c":3,"d":4}
s4 = pd.Series(dict)
print(s4)

运行结果:

=========Series通过numpy一维数组创建==========
0    1
1    2
2    3
3    4
4    5
dtype: int32
RangeIndex(start=0, stop=5, step=1)
[1 2 3 4 5]
=========Series直接通过一维数组创建==========
0    10.5
1    20.0
2    38.0
3    40.0
dtype: float64
a    10.5
b    20.0
c    38.0
d    40.0
dtype: float64
=========Series创建的同时自定义索引值和数据类型==========
语文    89.0
数学    78.0
英语    90.0
科学    87.0
dtype: float64
=========Series通过字典创建==========
a    1
b    2
c    3
d    4
dtype: int64

3、Series值的获取

Python3.5 Pandas模块之Series用法实例分析

#模块引入
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#4.Series值的获取
print("=========Series值的获取==========")
s2 = pd.Series([10.5,20,38,40])
#修改索引值
s2.index = ['a','b','c','d']
print(s2)
print(s2[0])    #方括号+下标值的形式获取Series值
print(s2["a"])   #方括号+索引的形式获取Series值

运行结果:

=========Series值的获取==========
a    10.5
b    20.0
c    38.0
d    40.0
dtype: float64
10.5
10.5

4、Series运算

Python3.5 Pandas模块之Series用法实例分析

Python3.5 Pandas模块之Series用法实例分析

#模块引入
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#5.Series值的运算
#Series中元素级别的运算结果,包含索引值并且键值关系保持不变
print("=========Series值的运算==========")
s6 = pd.Series({'a':1,'b':2,"c":3,"d":4})
print(s6)
print("=========打印Series大于2的值==========")
print(s6[s6>2])
print("=========打印Series的值除以2==========")
print(s6/2)

#numpy中的通用函数在Series中也支持
s7= pd.Series([1,2,-3,-4])
print(np.exp(s7))

运行结果:

=========Series值的运算==========
a    1
b    2
c    3
d    4
dtype: int64
=========打印Series大于2的值==========
c    3
d    4
dtype: int64
=========打印Series的值除以2==========
a    0.5
b    1.0
c    1.5
d    2.0
dtype: float64
0    2.718282
1    7.389056
2    0.049787
3    0.018316
dtype: float64

5、Series缺失值检验

Python3.5 Pandas模块之Series用法实例分析

Python3.5 Pandas模块之Series用法实例分析

#模块引入
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#6.Series缺失值检验
scores = Series({"a":88,"b":79,"c":98,"d":100})
print(scores)

new = ["a","b","e","c","d"]
scores = Series(scores,index=new)
print(scores)

print("======过滤出为缺失值的项=======")
print(scores.isnull())       #NAN值返回True
#print(pd.isnull(scores))      #与上面一句等价

print("======过滤出为非缺失值的项=======")
print(pd.notnull(scores))      #非NAN值返回True

运行结果:

a     88
b     79
c     98
d    100
dtype: int64
a     88.0
b     79.0
e      NaN
c     98.0
d    100.0
dtype: float64
======过滤出为缺失值的项=======
a    False
b    False
e     True
c    False
d    False
dtype: bool
======过滤出为非缺失值的项=======
a     True
b     True
e    False
c     True
d     True
dtype: bool

6、Series自动对齐

Python3.5 Pandas模块之Series用法实例分析

#模块引入
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#7.Series自动对齐

s8 = Series([12,28,46],index=["p1","p2","p3"])
s9 = Series([2,4,6,8],index=["p2","p3","p4","p5"])
print("=======s8=======")
print(s8)
print("=======s9=======")
print(s9)
print("=======s8+s9=======")
print(s8+s9)

运行结果:

=======s8=======
p1    12
p2    28
p3    46
dtype: int64
=======s9=======
p2    2
p3    4
p4    6
p5    8
dtype: int64
=======s8+s9=======
p1     NaN
p2    30.0
p3    50.0
p4     NaN
p5     NaN
dtype: float64

7、Series及其索引的name属性

Python3.5 Pandas模块之Series用法实例分析

#模块引入
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#8.Series及其name属性
s10 = Series({"jack":18,"amy":20,"lili":23,"susan":15})
print(s10)

print("=======设置name属性后=======")
s10.name = "年龄"    #数据名称标签
s10.index.name = "姓名"    #索引名称标签

print(s10)

运行结果:

amy      20
jack     18
lili     23
susan    15
dtype: int64
=======设置name属性后=======
姓名
amy      20
jack     18
lili     23
susan    15
Name: 年龄, dtype: int64

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
spyder常用快捷键(分享)
Jul 19 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
Jul 02 Python
Django跨域请求CSRF的方法示例
Nov 11 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
Python tkinter模版代码实例
Feb 05 Python
Python unittest单元测试框架及断言方法
Apr 15 Python
Python celery原理及运行流程解析
Jun 13 Python
深入探讨opencv图像矫正算法实战
May 21 Python
使用Python控制摄像头拍照并发邮件
Apr 23 #Python
详解Python静态网页爬取获取高清壁纸
Apr 23 #Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 #Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 #Python
详解Python 函数如何重载?
Apr 23 #Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 #Python
Python 存储字符串时节省空间的方法
Apr 23 #Python
You might like
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP使用者状态管理功能的应用
2006/10/09 PHP
我的论坛源代码(六)
2006/10/09 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP中extract()函数的妙用分析
2012/07/11 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python与Redis的连接教程
2015/04/22 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Django配置文件代码说明
2019/12/04 Python
浅谈Python中的字符串
2020/06/10 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
主管会计岗位责任制
2014/02/10 职场文书
食品销售计划书
2014/04/26 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
2015年测量员工作总结
2015/05/23 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android