前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[L5]快速掌握Series~过滤Series的值和缺失值的处理

[L5]快速掌握Series~过滤Series的值和缺失值的处理

作者头像
触摸壹缕阳光
发布于 2020-05-13 06:22:01
发布于 2020-05-13 06:22:01
10.4K00
代码可运行
举报
运行总次数:0
代码可运行

全文字数:2057字

阅读时间:9分钟

前言

由于在公众号上文本字数太长可能会影响阅读体验,因此过于长的文章,我会使用"[L1]"来进行分段。这系列将介绍Pandas模块中的Series,本文主要介绍:

  • 过滤Series的值
    • 单条件筛选
    • 多条件筛选
  • Series缺失值的处理
    • 判断value值是否为缺失值
    • 删除缺失值
    • 使用fillna()填充缺失值

快速掌握Series系列:

[L1]快速掌握Series~创建Series

[L2]快速掌握Series~Series的属性

[L3]快速掌握Series~通过Series索引获取指定值

[L4]快速掌握Series~Series的切片和增删改查

a

过滤Series的值

我们可以通过布尔选择器,也就是条件筛选来过滤一些特定的值,从而仅仅获取满足条件的值。过滤Series的值的方式分为两种:

  1. 单条件筛选;
  2. 多条件筛选;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd

s = pd.Series([1,2,3,4],index = ["a","b","c","d"])
  • 单条件筛选
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("-"*5 + "布尔选择器" + "-"*5)
print(s < 3)
print("-"*5 + "单条件查询" + "-"*5)
print(s[s<3])

result:
-----布尔选择器-----
a     True
b     True
c    False
d    False
dtype: bool
-----单条件查询-----
a    1
b    2
dtype: int64
  • 多条件查询
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("-"*5 + "多条件查询" + "-"*5)
print(s[(s > 2) & (s < 4) ])

result:
-----多条件查询-----
c    3
dtype: int64

注意:

  1. 多条件查询中的and以及or必须使用对应的符号来表示,and用&,or用|来表示;
  2. 使用多条件的时候,为了避免出错,在每个条件上最好加上括号;

b

Series缺失值的处理

  1. 判断Value值是否为缺失值,isnull()判断series中的缺失值以及s.notnull()判断series中的非缺失值;
  2. 删除缺失值
    1. 使用dropna();
    2. 使用isnull()以及notnull();
  3. 填充缺失值
    1. 使用fillna;
      1. 使用指定值填充缺失值;
      2. 使用插值填充缺失值;
        1. 向前填充ffill;
        2. 向后填充bfill;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建一个带缺失值的Series
import pandas as pd

s = pd.Series([1,2,None,4])
print(s)

result:
0    1.0
1    2.0
2    NaN
3    4.0
dtype: float64
  • 判断value值是否为缺失值

有两种方式判断:

  1. s.isnull()判断s中的缺失值;
  2. s.notnull()判断s中的非缺失值;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 缺失值的地方为True
print("-"*5 + "使用s.isnull判断" + "-"*5)
print(s.isnull())
#缺失值的地方为False
print("-"*5 + "使用s.notnull判断" + "-"*5)
print(s.notnull())

result:
-----使用s.isnull判断-----
0    False
1    False
2     True
3    False
dtype: bool
-----使用s.notnull判断-----
0     True
1     True
2    False
3     True
dtype: bool
  • 删除缺失值
  1. 使用dropna()方法删除缺失值,返回新的Series对象;
  2. 使用series.isnull()以及series.notnull()方法,使用布尔筛选进行过滤出非缺失值;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("-"*5 + "使用dropna()删除所有的缺失值" + "-"*5)
print(s.dropna())
print("-"*5 + "使用isnull()删除所有的缺失值" + "-"*5)
print(s[~s.isnull()])
print("-"*5 + "使用notnull()删除所有的缺失值" + "-"*5)
print(s[s.notnull()])

result:
-----使用dropna()删除所有的缺失值-----
0    1.0
1    2.0
3    4.0
dtype: float64
-----使用isnull()删除所有的缺失值-----
0    1.0
1    2.0
3    4.0
dtype: float64
-----使用notnull()删除所有的缺失值-----
0    1.0
1    2.0
3    4.0
dtype: float64
  • 使用fillna()填充缺失值
  1. 使用指定值填充缺失值;
  2. 使用插值填充缺失值;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("-"*5 + "原来的Series" + "-"*5)
print(s)
print("-"*5 + "指定填充值0" + "-"*5)
print(s.fillna(value = 0))

print("-"*5 + "向前填充ffill" + "-"*5)
print(s.fillna(method = "ffill"))
print("-"*5 + "向后填充bfill" + "-"*5)
print(s.fillna(method = "bfill"))

result:
-----原来的Series-----
0    1.0
1    2.0
2    NaN
3    4.0
dtype: float64
-----指定填充值0-----
0    1.0
1    2.0
2    0.0
3    4.0
dtype: float64
-----向前填充ffill-----
0    1.0
1    2.0
2    2.0
3    4.0
dtype: float64
-----向后填充bfill-----
0    1.0
1    2.0
2    4.0
3    4.0
dtype: float64

注意:

默认情况下,填充缺失值都会创建一个新的Series对象,如果希望直接在原来的Series上进行修改的话,可以使用下面两种方式:

  1. 直接进行赋值;
  2. 给fillna()函数添加一个新的参数,inplace = True参数;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用Pandas处理缺失值
在数据表或 DataFrame 中有很多识别缺失值的方法。一般情况下可以分为两种:一种方法是通过一个覆盖全局的掩码表示缺失值, 另一种方法是用一个标签值(sentinel value) 表示缺失值。在掩码方法中, 掩码可能是一个与原数组维度相同的完整布尔类型数组, 也可能是用一个比特(0 或 1) 表示有缺失值的局部状态。在标签方法中, 标签值可能是具体的数据(例如用 -9999 表示缺失的整数) , 也可能是些极少出现的形式。另外, 标签值还可能是更全局的值, 比如用 NaN(不是一个数) 表示缺失的浮点数。
用户3577892
2020/06/10
2.9K0
手把手教你用pandas处理缺失值
导读:在进行数据分析和建模的过程中,大量的时间花在数据准备上:加载、清理、转换和重新排列。本文将讨论用于缺失值处理的工具。
IT阅读排行榜
2021/02/22
2.8K0
手把手教你用pandas处理缺失值
数据科学 IPython 笔记本 7.7 处理缺失数据
许多教程中的数据与现实世界中的数据之间的差异在于,真实世界的数据很少是干净和同构的。特别是,许多有趣的数据集缺少一些数据。为了使事情变得更复杂,不同的数据源可能以不同的方式标记缺失数据。
ApacheCN_飞龙
2022/06/03
4.1K0
Python数据处理从零开始----第三章(pandas)②处理缺失数据
在实际应用中对于数据进行分析的时候,经常能看见缺失值,下面来介绍一下如何利用pandas来处理缺失值。常见的缺失值处理方式有,过滤、填充。
用户1359560
2018/12/14
1.1K0
pandas中的缺失值处理
在真实的数据中,往往会存在缺失的数据。pandas在设计之初,就考虑了这种缺失值的情况,默认情况下,大部分的计算函数都会自动忽略数据集中的缺失值,同时对于缺失值也提供了一些简单的填充和删除函数,常见的几种缺失值操作技巧如下
生信修炼手册
2020/07/14
2.6K0
Pandas缺失值处理 | 轻松玩转Pandas(3)
# 导入相关库 import numpy as np import pandas as pd 什么是缺失值 在了解缺失值(也叫控制)如何处理之前,首先要知道的就是什么是缺失值?直观上理解,缺失值表示的是“缺失的数据”。 可以思考一个问题:是什么原因造成的缺失值呢?其实有很多原因,实际生活中可能由于有的数据不全所以导致数据缺失,也有可能由于误操作导致数据缺失,又或者人为地造成数据缺失。 来看下我们的示例吧 index = pd.Index(data=["Tom", "Bob", "Mary", "Ja
禹都一只猫olei
2018/09/19
1.5K0
Pandas数据清洗:缺失值处理
在数据分析的过程中,数据清洗是一个至关重要的步骤。而其中,缺失值的处理又是数据清洗中最常见的问题之一。本文将从基础概念出发,逐步深入探讨Pandas库中处理缺失值的方法,包括常见的问题、报错及其解决方案。
Jimaks
2024/12/19
2250
pandas 缺失数据处理大全(附代码)
之前一直在分享pandas的一些骚操作:pandas骚操作,根据大家反映还不错,但是很多技巧都混在了一起,没有细致的分类,这样不利于查找,也不成体系。
Python数据科学
2022/03/11
2.4K0
pandas 缺失数据处理大全(附代码)
Python数据科学手册(六)【Pandas 处理丢失的数据】
在很多情况下,有些数据并不是完整的,丢失了部分值,这一节将学习如何处理这些丢失的数据。
用户2936342
2018/08/27
2.3K0
Python数据科学手册(六)【Pandas 处理丢失的数据】
Pandas知识点-缺失值处理
数据处理过程中,经常会遇到数据有缺失值的情况,本文介绍如何用Pandas处理数据中的缺失值。
Python碎片公众号
2021/05/14
5K0
Pandas知识点-缺失值处理
【数据处理包Pandas】数据载入与预处理
对于数据分析而言,数据大部分来源于外部数据,如常用的 CSV 文件、 Excel 文件和数据库文件等。 Pandas 库将外部数据转换为 DataFrame 数据格式,处理完成后再存储到相应的外部文件中。
Francek Chen
2025/01/22
1460
【数据处理包Pandas】数据载入与预处理
Pandas笔记-进阶篇
panda对象拥有一组常用的数学和统计方法,他们大部分都属于简约统计,NA值会自动被排除,除非通过skipna=False禁用
Ewdager
2020/07/14
6910
特征工程之缺失值处理
缺失值处理直接删除统计值填充统一值填充前后向值填充插值法填充预测填充KNN填充具体分析缺失数据可视化
用户3577892
2020/06/10
2.4K0
pandas 处理缺失值[dropna、drop、fillna][通俗易懂]
对于dropna和fillna,dataframe和series都有,在这主要讲datafame的
全栈程序员站长
2022/11/04
1.8K0
Pandas-Series知识点总结
根据list pandas有两种主要的数据结构,第一种是Series,是一种类似于一维数组的数据结构,它由一组数据以及一组与之相关的数据标签组成。我们可以直接根据list来生成一个Series。
用户1332428
2023/03/28
3410
Pandas-Series知识点总结
Python处理Excel数据-pandas篇
在计算机编程中,pandas是Python编程语言的用于数据操纵和分析的软件库。特别是,它提供操纵数值表格和时间序列的数据结构和运算操作。它的名字衍生自术语“面板数据”(panel data),这是计量经济学的数据集术语,它们包括了对同一个体的在多个时期上的观测。它的名字是短语“Python data analysis”自身的文字游戏。
全栈程序员站长
2022/11/17
4K0
Python处理Excel数据-pandas篇
Pandas-Series知识点总结
1、Series创建 根据list pandas有两种主要的数据结构,第一种是Series,是一种类似于一维数组的数据结构,它由一组数据以及一组与之相关的数据标签组成。我们可以直接根据list来生成一个Series。 obj = pd.Series([4,7,-5,3]) obj #输出 0 4 1 7 2 -5 3 3 dtype: int64 可以通过index和values属性来获得obj的索引和值 obj.index #RangeIndex(start=0, stop=4,
石晓文
2018/04/11
6880
收藏|Pandas缺失值处理看这一篇就够了!
本文目录 1. 基础概念 1.1. 缺失值分类 1.2. 缺失值处理方法
刘早起
2020/08/21
3.8K0
收藏|Pandas缺失值处理看这一篇就够了!
pandas系列3_缺失值处理和apply用法
缺失值:df中缺失值为nan或者naT(缺失时间),在S型数据中为none或者nan
皮大大
2021/03/02
1.3K0
Pandas高级教程之:处理缺失数据
在数据处理中,Pandas会将无法解析的数据或者缺失的数据使用NaN来表示。虽然所有的数据都有了相应的表示,但是NaN很明显是无法进行数学运算的。
子润先生
2021/06/19
7350
相关推荐
用Pandas处理缺失值
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验