【一日一技】超简单的Pandas数据筛选方法

简介: 【一日一技】超简单的Pandas数据筛选方法
import pandas as pd
datas = [
{'name': '王小一', 'hight': 171, 'weight': 100},
{'name': '李小二', 'hight': 163, 'weight': 200},
{'name': '张小三', 'hight': 152, 'weight': 67},
{'name': '郭小四', 'hight': 148, 'weight': 77},
{'name': '钱小五', 'hight': 189, 'weight': 87},
{'name': '孙小六', 'hight': 155, 'weight': 82},
{'name': '周小七', 'hight': 169, 'weight': 74},
{'name': '吴小八', 'hight': 170, 'weight': 68},
{'name': '郑小九', 'hight': 173, 'weight': 65},
{'name': '冯老十', 'hight': 175, 'weight': 64}
]

df = pd.DataFrame(datas)


运行效果图


现在想要筛选hight字段大于160的所有数据

代码可以这样写:

df[160< df['hight']]


运行效果图


现在想筛选所有 160 < hight < 170的数据


如果使用Python的链式比对,就会导致报错:


报错图


此时,代码需要改写为很难看的一种样式:

df[(160< df['hight']) & (df['hight'] <170)]

运行效果图


这样写虽然能够解决问题,但是代码可读性不好。

为了提高可读性,可以使用pandas自带的.query方法

当我们要查询hight > 160的数据时,可以这样写:

df.query('hight>160')

运行效果图


当我们要查询160 < hight < 170的时候,可以这样写:

df.query('160<hight<170')


运行效果图


甚至还支持多个参数链式查询,例如筛选所有160<hight<170并且weight<80的数据:

df.query('160<hight<170').query('weight<80')


运行效果图

目录
相关文章
|
1月前
|
存储 JSON 数据处理
从JSON数据到Pandas DataFrame:如何解析出所需字段
从JSON数据到Pandas DataFrame:如何解析出所需字段
64 1
|
1月前
|
数据采集 监控 数据可视化
Pandas平滑法时序数据
【5月更文挑战第17天】本文介绍了使用Python的Pandas库实现指数平滑法进行时间序列预测分析。指数平滑法是一种加权移动平均预测方法,通过历史数据的加权平均值预测未来趋势。文章首先阐述了指数平滑法的基本原理,包括简单指数平滑的计算公式。接着,展示了如何用Pandas读取时间序列数据并实现指数平滑,提供了示例代码。此外,文中还讨论了指数平滑法在实际项目中的应用,如销售预测和库存管理,并提到了在`statsmodels`库中使用`SimpleExpSmoothing`函数进行模型拟合和预测。最后,文章强调了模型调优、异常值处理、季节性调整以及部署和监控的重要性,旨在帮助读者理解和应用这一方法
30 2
 Pandas平滑法时序数据
|
21天前
|
数据采集 安全 数据处理
Python采集数据处理:利用Pandas进行组排序和筛选
使用Python的Pandas库,结合亿牛云代理和多线程技术,提升网络爬虫数据处理效率。通过代理IP避免封锁,多线程并发采集,示例代码展示数据分组、排序、筛选及代理IP配置和线程管理。
Python采集数据处理:利用Pandas进行组排序和筛选
|
24天前
|
存储 数据采集 JSON
Pandas数据读取三连“坑”
大家小时候有没有用玩儿过一种飞行棋,两个人玩儿,摇骰子摇到几然后就相应的往前走几步,看谁先到终点谁就胜利了。在玩儿的途中,地图上有很多奖励或者陷阱,有的时候运气不好,连中好几个陷阱不但没有前进反而还后退了。 这不最近再看Pandas数据读取的知识时候,我就踩了好几个小坑,幸亏把学习文档上的提供的demo进行了验证,不然在以后项目应用的时候再遇到了岂不是挺尴尬了。
|
1月前
|
数据挖掘 数据处理 索引
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
33 1
|
1月前
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
【5月更文挑战第2天】使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按'Name'和'Age'列排序 DataFrame。先按'Name'排序,再按'Age'排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
41 1
|
1月前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
|
1月前
|
数据采集 数据处理 索引
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
37 3
|
1月前
|
存储 数据挖掘 数据处理
使用pandas高效读取筛选csv数据
本文介绍了使用Python的Pandas库读取和处理CSV文件。首先,确保安装了Pandas,然后通过`pd.read_csv()`函数读取CSV,可自定义分隔符、列名、索引等。使用`head()`查看数据前几行,`info()`获取基本信息。Pandas为数据分析提供强大支持,是数据科学家的常用工具。
37 0
|
1月前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
45 0