Python3.5 Pandas模块之Series用法实例分析
作者:loveliuzz 发布时间:2022-07-23 16:19:09
本文实例讲述了Python3.5 Pandas模块之Series用法。分享给大家供大家参考,具体如下:
1、Pandas模块引入与基本数据结构
2、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值的获取
#模块引入
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运算
#模块引入
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缺失值检验
#模块引入
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自动对齐
#模块引入
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属性
#模块引入
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程序设计有所帮助。
来源:https://blog.csdn.net/loveliuzz/article/details/78498077


猜你喜欢
- 我们一般在Excel里面是使用数据连接属性里面写sql语句,或者vba里面利用ado组件执行sql语句。新版的Excel里面带上了Power
- 依据null-values,MySQL的值为null的意思只是代表没有数据,null值和某种类型的零值是两码事,比如int类型的零值为0,字
- 关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据 基本方法总结归纳及示例如下:1.准备一组DataF
- 布尔类型是PHP中 最简单的类型。它的值可以为 TRUE 或 FALSE。如:$foo=false;$foo1=true;echo &quo
- 看到Django和layim实现websocketde资料很少,自己就琢磨了下,顺便搭建出来了。自己要去找闲心大神授权呀。先来看图这是初次搭
- 本文为大家分享了pygame游戏之旅的第3篇,供大家参考,具体内容如下载入car图片(我自己画的),需要用到pygame.image模块,定
- 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内
- 本篇文章是一篇Vue.js的教程,目标在于用一种常见的业务场景——分页/无限加载,帮助读者更好的理解Vue.js中的一些设计思想。与许多To
- 前言其实Beautiful Soup 模块除了能够搜索和导航之外,还能够修改 HTML/XML 文档的内容。这就意味着能够添加或删除标签、修
- hanxiaolian 为了躲避 lake2 ASP站长管理助手而写.. 一.绕过lake2 Asp木马扫描的小马 代码如下:<%&n
- 一 描述1030. 距离顺序排列矩阵单元格 - 力扣(LeetCode) (leetcode-cn.com)给定四个整数 row
- transforms按住Ctrl查看transforms的源码可以知道,transforms就是一个python文件,里面定义了很多类,每一
- 本文实例为大家分享了python实现图像拼接的具体代码,供大家参考,具体内容如下1.待拼接的图像2. 基于SIFT特征点和RANSAC方法得
- 最好的方法: 先说一下基本的东西: <%@ codepage=65001%>UTF-8 <%@&nbs
- 通过优化CSS代码,减小对系统资源的占用。自己整理出几个能减少系统资源占用的CSS写法,要优化网站的页面加载速度,这些注意点不能忽视!一、尽
- 原因:list 获得的数据为空: 显示值为 [ ]不同的判断--- is None----not两者结果不一样分析:总之:not 判断的是内
- 本文实例讲述了原生JS实现Ajax通过GET方式与PHP进行交互操作。分享给大家供大家参考,具体如下:一、代码conn.php<?ph
- 先记下,免得以后想不起来又到处去找! PHP操作数据库的时候,数据库中数据使用UTF8编码,在读出来的时候,显示的全是???????问号乱码
- 本文实例为大家分享了opencv实现图像旋转效果的具体代码,供大家参考,具体内容如下图像旋转:在opencv中首先根据旋转角度和中心获取旋转
- 这次分享的是关于Vue自定义指令的使用方法,学习完基础后我们再来实战完成一个下拉列表,废话不多说,直接上干货基本用法//全局注册Vue.di