前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何利用 pandas 根据数据类型进行筛选?

如何利用 pandas 根据数据类型进行筛选?

作者头像
刘早起
发布于 2022-09-21 02:52:14
发布于 2022-09-21 02:52:14
1.5K00
代码可运行
举报
文章被收录于专栏:早起Python早起Python
运行总次数:0
代码可运行

大家好,我是早起。

前两天,有一位读者在知识星球提出了一个关于 pandas 数据清洗的问题。

他的数据大致如下

现在希望分别做如下清洗

  1. A列中非字符行
  2. B列中非日期行
  3. C列中数值形式行(包括科学计数法的数值)
  4. D列中非整数行
  5. 删掉C列中大小在10%-90%范围之外的行

其实本质上都是「数据筛选」的问题,先来模拟下数据

如上图所示,基本上都是根据数据类型进行数据筛选,下面逐个解决。

取出所有非整数类型

让我们从第 4 题开始,取出 D 列全部非整数行,其实在 pandas 中可以使用.is_integer() 判断一个元素是否为整数。

这样我们就能结合 apply 函数找到全部整数行

再使用 ~ 取其补集即可得到答案

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df[~df[['D']].apply(lambda x: x[0].is_integer(), axis=1)]

取出所有数值类型

第 3 题要求取出 C 列所有数值形式的行。

pandas 同样有直接判断的函数 .isdigit() 判断是否为数值。

所以同上可以结合 apply 函数轻松搞定~

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df[df['C'].str.isdigit().isnull()].dropna()

取出非日期行

至于第 2 题,pandas 中虽有直接判断时间格式函数,但由于存在其他类型数据,该列为object,并不能直接判断。

所以只要我们将该列转换为时间格式(见习题 8-12)就会将不支持转换的格式修改为缺失值

这样在转换后删除确实值即可

取出非字符行

至于第 1 题,我们可以借助 Python 中 isinstance 函数判断一个变量是否为字符串格式

再同样借助 apply 函数即可找到全部字符串的行,然后使用 ~ 取其补集即可

自定义异常值范围

最后是一个看上去是异常值处理的问题,但本质上还是数据筛选

直接计算该列的指定范围,并多条件筛选即可。

至此我们就成功利用 pandas 根据 数据类型 进行筛选值。其实这些题都在「pandas进阶修炼300题」中有类似的存在。

当然本文的内容也将再次整理后添加至第 9 章「其他未提及操作中」,点击下方图片即可了解习题详情~

点击下载「pandas进阶修炼300题」👇

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 早起Python 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Pandas库
通过这些基础知识和资源,你可以逐步深入学习Pandas,从而在数据分析领域游刃有余。
用户11315985
2024/10/16
9110
Pandas库
sql题目pandas解法(01):筛选、all、any常用技巧
有不少小伙伴向我反映 pandas 专栏缺少练习题,因此这里我使用一套 sql 的题目,作为 pandas 专栏的课后练习题。本文大部分的解题过程尽可能使用 pandas 中最基础的入门操作完成,涉及的知识点基本在专栏中的前15节内容中有详尽讲解。
咋咋
2021/09/01
1.4K0
sql题目pandas解法(01):筛选、all、any常用技巧
Python数据分析实战基础 | 初识Pandas
这段时间和一些做数据分析的同学闲聊,我发现数据分析技能入门阶段存在一个普遍性的问题,很多凭着兴趣入坑的同学,都能够很快熟悉Python基础语法,然后不约而同的一头扎进《利用Python进行数据分析》这本经典之中,硬着头皮啃完之后,好像自己什么都会了一点,然而实际操作起来既不知从何操起,又漏洞百出。
张俊红
2019/09/02
1.3K0
Python数据分析实战基础 | 初识Pandas
这段时间和一些做数据分析的同学闲聊,我发现数据分析技能入门阶段存在一个普遍性的问题,很多凭着兴趣入坑的同学,都能够很快熟悉Python基础语法,然后不约而同的一头扎进《利用Python进行数据分析》这本经典之中,硬着头皮啃完之后,好像自己什么都会了一点,然而实际操作起来既不知从何操起,又漏洞百出。
小小詹同学
2019/09/17
1.5K0
Python数据分析实战基础 | 初识Pandas
Pandas_Study01
series 和 dataframe 这是pandas 中最为基本的两个概念,series 类似于一维数组,可以近似当成普通的数组进行操作,对于series 默认会有行索引为它索引,但特殊的同时与普通的一维数组不同 列表只能有从0开始的整数索引,而series则可以自定义标签索引,这一点来看,跟字典又比较相似,因此series又可以拥有类似字典的操作方式,series 的标签索引可以随时更新修改替换。series 提供有很多方便的方法,用于判断值为空的 isnull, notnull,sort_index(), sort_values() 用于排序的方法等。
Echo_Wish
2023/11/30
3960
盘点66个Pandas函数,轻松搞定“数据清洗”!
之前黄同学曾经总结过一些Pandas函数,主要是针对字符串进行一系列的操作。在此基础上我又扩展了几倍,全文较长,建议先收藏。
朱小五
2022/04/11
4K0
盘点66个Pandas函数,轻松搞定“数据清洗”!
用 Pandas 进行数据处理系列 二
获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['a_name','bname']] ,里面需要是一个 list 不然会报错增加一列df['new']=list([...])对某一列除以他的最大值df['a']/df['a'].max()排序某一列df.sorted_values('a',inplace=True,ascending=True) , inplace 表示排序的时候是否生成一个新的 dataFrame , ascending=True 表示升序,默认为升序,如果存在缺失的补值( Nan ),排序的时候会将其排在末尾
zucchiniy
2019/10/30
8.4K0
Pandas数据应用:库存管理
在商业运营中,库存管理是至关重要的环节。有效的库存管理可以降低企业成本,提高资金周转率,增强企业的竞争力。Pandas作为Python中强大的数据分析工具,在处理库存管理相关问题时具有极大的优势。本文将由浅入深地介绍Pandas在库存管理中的常见问题、常见报错及如何避免或解决,并通过代码案例进行解释。
Jimaks
2025/01/19
2490
Pandas
Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。
爱编程的小明
2022/09/05
9.5K0
Pandas
玩转数据处理120题|Pandas版本
Pandas进阶修炼120题系列一共涵盖了数据处理、计算、可视化等常用操作,希望通过120道精心挑选的习题吃透pandas。并且针对部分习题给出了多种解法与注解,动手敲一遍代码一定会让你有所收获!
刘早起
2020/04/22
7.8K0
Pandas高级数据处理:自定义函数
Pandas是Python中用于数据分析和处理的强大库。它提供了丰富的功能,可以轻松地处理各种类型的数据。在实际应用中,我们经常需要对数据进行复杂的转换、计算或聚合操作,而这些操作往往不能仅靠Pandas内置的函数完成。这时,自定义函数就显得尤为重要。
Jimaks
2025/01/24
2420
python数据科学系列:pandas入门详细教程
前2篇分别系统性介绍了numpy和matplotlib的入门基本知识,今天本文自然是要对pandas进行入门详细介绍,通过本文你将系统性了解pandas为何会有数据分析界"瑞士军刀"的盛誉。
luanhz
2020/05/14
17.8K0
Pandas进阶修炼120题|完整版
『Pandas进阶修炼120题』系列现已完结,我们对Pandas中常用的操作以习题的形式发布。从读取数据到高级操作全部包含,希望可以通过刷题的方式来完整学习pandas中数据处理的各种方法,当然如果你是高手,也欢迎尝试给出与答案不同的解法。
刘早起
2020/04/15
13K1
Pandas进阶修炼120题|完整版
在Pandas中更改列的数据类型【方法总结】
有什么方法可以将列转换为适当的类型?例如,上面的例子,如何将列2和3转为浮点数?有没有办法将数据转换为DataFrame格式时指定类型?或者是创建DataFrame,然后通过某种方法更改每列的类型?理想情况下,希望以动态的方式做到这一点,因为可以有数百个列,明确指定哪些列是哪种类型太麻烦。可以假定每列都包含相同类型的值。
kirin
2021/04/19
22.2K0
在Pandas中更改列的数据类型【方法总结】
Pandas数据应用:股票数据分析
在当今的金融领域,股票市场是一个复杂且动态的系统。每天都有大量的交易发生,这些交易记录了价格、成交量等信息。对于投资者和分析师来说,如何从海量的数据中提取有用的信息是至关重要的。Pandas作为一个强大的Python库,在处理结构化数据方面表现出色,它为股票数据分析提供了便捷的方法。
Jimaks
2024/12/29
3590
完整数据分析流程:Python中的Pandas如何解决业务问题
作为万金油式的胶水语言,Python几乎无所不能,在数据科学领域的作用更是不可取代。数据分析硬实力中,Python是一个非常值得投入学习的工具。
饼干哥哥
2023/01/01
1.8K0
强烈推荐Pandas常用操作知识大全!
https://github.com/SeafyLiang/Python_study
1480
2021/12/20
16.2K0
强烈推荐Pandas常用操作知识大全!
pandas每天一题-题目11:筛选数据也有3种方式,最后一种揭示本质
这是一个关于 pandas 从基础到进阶的练习题系列,来源于 github 上的 guipsamora/pandas_exercises 。这个项目从基础到进阶,可以检验你有多么了解 pandas。
咋咋
2021/09/01
5080
pandas每天一题-题目11:筛选数据也有3种方式,最后一种揭示本质
数据分析之Pandas缺失数据处理
3. 缺失数据的运算与分组 3.1. 加号与乘号规则 3.2. groupby方法中的缺失值 4. 填充与剔除 4.1. fillna方法 4.2. dropna方法 5. 插值
Datawhale
2020/07/06
1.7K0
数据分析之Pandas缺失数据处理
python数据处理和数据清洗
python里面是通过模块体现库的,可以降低程序员的使用成本,提高程序的开发效率;
阑梦清川
2025/02/24
1570
python数据处理和数据清洗
推荐阅读
相关推荐
Pandas库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档