【一日一技】超简单的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')


运行效果图

目录
相关文章
|
3天前
|
Python
|
3天前
|
Python
|
2天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
10 1
|
3天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
6 1
|
3天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
8 2
|
3天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
10 2
|
2天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
5 0
|
7天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
27 0
|
2月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
66 0
|
8天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
20 1

热门文章

最新文章