侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Python  /  管理员 发布于 7年前   164

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

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


2、Series的创建



#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiu#模块引入import numpy as npimport pandas as pdfrom 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值的获取


#模块引入import numpy as npimport pandas as pdfrom 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运算



#模块引入import numpy as npimport pandas as pdfrom 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缺失值检验



#模块引入import numpy as npimport pandas as pdfrom 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自动对齐


#模块引入import numpy as npimport pandas as pdfrom 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属性


#模块引入import numpy as npimport pandas as pdfrom 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数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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


  • 上一条:
    Python3.5 Pandas模块之DataFrame用法实例分析
    下一条:
    使用Python控制摄像头拍照并发邮件
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客