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 相关文章推荐
python打开网页和暂停实例
Sep 30 Python
Python Tkinter GUI编程入门介绍
Mar 10 Python
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
基于wxpython开发的简单gui计算器实例
May 30 Python
TensorFlow模型保存和提取的方法
Mar 08 Python
python实现最大优先队列
Aug 29 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
Django中F函数的使用示例代码详解
Jul 06 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
如何完美的建立一个python项目
Oct 09 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
给php新手谈谈我的学习心得
2007/02/25 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python版百度语音识别功能
2019/07/09 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
python实现UDP协议下的文件传输
2020/03/20 Python
python语言的优势是什么
2020/06/17 Python
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
《一个小村庄的故事》教学反思
2014/04/13 职场文书
防火标语大全
2014/10/06 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014年度个人工作总结
2014/11/07 职场文书
债务纠纷代理词
2015/05/25 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python