【Pandas库】(2) Series的基本操作方法
各位同学好,今天和大家分享一下Pandas库中Series的基本操作方法。
内容有:①检查缺失值;②通过索引获取数据;③布尔索引;④name属性;⑤读取前几行数据;⑥读取后几行数据。
首先我们先定义一个Series
import pandas as pd #导入pandas库
person = {"name":"阿强","age":21,"class":"一班"} #定义一个字典person
# 生成一个Series,给它命名s1,以列表中给定的索引顺序排序,其中索引'sex'对应的值为None
s1 = pd.Series(person,["name","age","class","sex"])
(1)检查缺失值
方法: Series名.isnull() 和 Series名.notnull()
isnull() 判断索引对应的值是否为空,若为空,返回True。语句返回值为Series类型。
notnull() 判断索引对应的值是否为非空,若为空,返回False。
如下图所示,s1中索引'sex'对应的值为nan,因此用isnull()判断后,s2接收返回值,'sex'的返回值是True,其余返回的都是False。并且s2为Series类型。
#(1)检查缺失值
s2 = s1.isnull() # isnull判断值是否为空,空就返回一个True
s3 = s1.notnull()
(2)通过索引获取数据
获取索引的方法:Series名.index
获取值的方法: Series名.values
#(2)通过索引获取数据
m = s1.index #获取索引
n = s1.values #获取值
2.1 获取单个数据
① 通过下标获取 Series名[索引号]
② 通过标签名获取 Series名[标签名]
s4 = s1[1] # 通过下标获取数据
s5 = s1["age"] # 通过标签名获取数据
2.2 获取多个数据
① 通过下标获取 Series名[[索引号1,索引号2]] #获取索引号1和2对应的数据
② 通过标签名获取 Series名[[标签名1,标签名2]]
# 选取多个数据
s6 = s1[[1,3]] #获取索引为1行和3行的数据(0,1,2,3)
s7 = s1[["name","age"]] #获取索引为’name'和'age'行的数据
2.3 切片获取数据
① 通过下标获取 Series名[索引号1:索引号2] #下标切片顾头不顾尾
② 通过标签名获取 Series名[标签名1:标签名2] #标签名切片顾头顾尾
# 切片取值
s8 = s1[1:3] #下标切片顾头不顾尾,获取s1中1、2行数据
s9 = s1["name":"class"] #标签切片顾头顾尾,获取'name'、'age'、'class'行
(3)布尔索引
Series名[条件判断]
布尔索引可理解为True和False。
如下,我们定义了一个Series类型数据s10,下式中s10[s10>3]可理解为,s10中索引大于3的值为True,小于等于3的值为False。s10[True]会进行输出,即找到s10中所有大于3的索引和值。
import numpy as np
a1 = np.arange(1,6) #从1到5,步长为1,即1、2、3、4、5
s10 = pd.Series(a1,["a","b","c","d","e"])
#数组a1变成Series类型,改变索引名,由原来的0到4变成'a'到'e'
s11 = s10[s10>3] #取出s10的值大于3的数据
(4)索引与数据的对应关系不被运算结果影响
让Series类型乘以一个数,Series中的索引不会发生改变,但是所有的值都会乘以该数。数值计算会到后续章节再讲,目前不需要掌握。
s12 = s10*2 #使对应数据都*2
#数据values发生变化,对应的索引不变
(5)name属性
改变对象的名称: Series名.name = 自定义名称
改变对象的索引名称: Series名.index.name = 自定义名称
如果不喜欢官方默认定义的对象名,可自定义
# name属性
s10.name = "temp" #对象名
s10.index.name = "year" #对象索引名
(6)读取前几行数据
方法: Series名.head() # 默认读取前5行数据
Series名.head(n) # 也可自己指定读取前n行
如果数据量很大,可使用该方法读取前几行先看看
# 读取前几行数据,默认前5行
s13 = s10.head(2)
(7)读取后几行数据
方法: Series名.tail() # 默认读取后5行数据
Series名.tail(n) # 也可自己指定读取后n行
# 读取后几行数据,默认后5行
s14 = s10.tail(3)
完整代码如下:
#以下代码均可运行
import pandas as pd #导入pandas库person = {"name":"阿强","age":21,"class":"一班"} #定义一个字典person
# 生成一个Series,给它命名s1,以列表中给定的索引顺序排序,其中索引'sex'对应的值为None
s1 = pd.Series(person,["name","age","class","sex"]) # Series基本用法#(1)检查缺失值
#==1== Series名.isnull() Series名.notnull()
# isnull判断是否为空,空就返回一个True
s2 = s1.isnull()
s3 = s1.notnull()#(2)通过索引获取数据
m = s1.index #获取索引
n = s1.values #获取值#==1== 通过下标获取数据
s4 = s1[1]#==2== 通过标签名获取数据
s5 = s1["age"]#==3== 选取多个
s6 = s1[[1,3]] #获取索引为1行和3行的数据(0,1,2,3)
s7 = s1[["name","age"]] #获取索引为’name'和'age'行的数据#==4== 切片取值
s8 = s1[1:3] #下标切片顾头不顾尾,获取s1中1、2行数据
s9 = s1["name":"class"] #标签切片顾头顾尾,获取'name'、'age'、'class'行#(3)布尔索引
import numpy as np
a1 = np.arange(1,6) #从1到5,步长为1,即1、2、3、4、5
s10 = pd.Series(a1,["a","b","c","d","e"])
#数组a1变成Series类型,改变索引名,由原来的0到4变成'a'到'e's11 = s10[s10>3] #取出s10的值大于3的数据#(4)索引与数据的对应关系不被运算结果影响
s12 = s10*2 #使对应数据都*2
#数据values发生变化,对应的索引不变#(5)name属性
print(s10)
s10.name = "temp" #对象名
s10.index.name = "year" #对象索引名
print(s10)#(6) Series名.head(n)
# 读取前几行数据,默认前5行
s13 = s10.head(2)#(7) Series名.tail(n)
# 读取后几行数据,默认后5行
s14 = s10.tail(3)
【Pandas库】(2) Series的基本操作方法相关推荐
- python——pandas库之Series数据结构基础
文章目录 pandas之Series 1.Series简介 2.Series属性 3.数学运算 4.缺失值检测 6.Series自动对齐索引 7.name属性 pandas之Series 1.Seri ...
- 【Pandas库】(1) Series的创建方法
各位同学大家好,今天和大家分享一下Pandas库中Series的创建方法. 文章主要介绍了使用 列表.数组.字典 三种方法创建Series. 介绍了 如何查看Series索引和值.如何让使用字典生成的 ...
- Pandas库(1):DataFrame类
Pandas库围绕Series类型和DataFrame类型这两种数据结构,提供了一种高效便捷的数据处理方式. 一.DataFrame类概述 1.Series是pandas库的一维数据类型,DateFr ...
- Python之Pandas库常用函数大全(含注释)
前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...
- Pandas库入门详细教程
Pandas库的介绍 1.Pandas是Python第三方库,提供高性能易用数据类型和分析工具. 2.Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用. 3.Pandas库 ...
- pandas库Series使用和ix、loc、iloc基础用法
1. pandas库Series基础用法: 直接贴出用例: 1. 构造/初始化Series的3种方法: (1)用列表list构建Series import pandas as pd my_list=[ ...
- pandas库随笔——更改Series与DataFrame的列标签
我们要对Series和DataFrame的列标签进行修改,通常是使用rename函数,还有一种方法就是使用暴力修改法,下面分别针对两种方法进行代码演示以及进行说明. 首先我们先载入pandas库并且生 ...
- python dataframe 列_python pandas库中DataFrame对行和列的操作实例讲解
用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFram ...
- Pandas库常用函数和操作
目录 1. DataFrame 处理缺失值 dropna() 2. 根据某维度计算重复的行 duplicated().value_counts() 3. 去重 drop_duplicates( ...
最新文章
- Hotpatch潜在的安全风险
- Activity的启动模式与flag详解
- ux和ui_阅读10个UI / UX设计系统所获得的经验教训
- c++ using 前置声明_详解C++ 前置声明
- Jquery实现定时器实例
- Android开发笔记(一百七十九)避免方法数过多的问题
- 国外资源下载速度太慢怎么办
- 禁用vsftpd欢迎语
- 腾讯云dts使用注意事项
- 易灵思FPGA--PLL资源
- php 会议室预定系统,MRBS开源会议室预订系统安装
- 简单使用Easy Touch5摇杆控制物体移动
- vscode 添加版权信息
- javaScript常用案例
- spark初始:spark腾讯雅虎优酷成功应用解析
- 2021-2027全球与中国零售空间规划软件市场现状及未来发展趋势
- 计算2015年4月6日是一年中的第几星期
- altium designer 快捷键
- Python破解pdf打开密码
- PHP7+MySql开发的视频点播程序,知识付费系统