专栏首页未闻Code【一日一技】超简单的Pandas数据筛选方法

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

首先来定义一个DataFrame

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')

运行效果图

作者:kingname

排版:magic

本文分享自微信公众号 - 未闻Code(itskingname),作者:kingname

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一日一技:快速实现Python 命令行参数

    那么使用 sys模块就不好用了。此时我们可以使用 argparse。但是如果你阅读它的官方文档:https://docs.python.org/zh-cn/3/...

    青南
  • 一日一技:如何使用弱引用优化 Python 程序的内存占用?

    Python 的垃圾回收机制通过引用计数来决定一个对象要不要被回收。当一个对象被引用次数为0时,它就会被作为垃圾回收从而释放 Python 内存。

    青南
  • 为什么GNE 不做全自动提取列表页的功能

    GNE 上线以后,很多同学在用户群里面问到,GNE 能否支持列表页自动提取?例如对于下图中的新闻标题列表:

    青南
  • Injectify:一款执行MiTM攻击的工具

    今天给大家介绍一款功能强大的高级中间人攻击工具,该工具名叫Injectify,而这款工具将可以帮助我们轻松地对目标网站进行渗透测试。 ? Injectify是一...

    FB客服
  • 你必须知道的指针基础-5.指针的几个小应用案例

      实现一个方法“多个返回值”的效果:返回一个三位数数字的个位、十位、百位。这里,我们借助指针来”返回“分解后的结果。这种应用也是最常见的指针应用。

    Edison Zhou
  • 遇到npm install的错误,多比较比较npm的版本

    如果从github上clone一个项目下来,同样的npm install命令,在你同事那里工作,但是你本地不行,除了检查目录C:\Users<user>\App...

    Jerry Wang
  • MySQL MHA部署 Part 2 MHA架构介绍

    MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master...

    bsbforever
  • 数据挖掘实践指南读书笔记3

    http://guidetodatamining.com/ 这本书理论比较简单,书中错误较少,动手锻炼较多,如果每个代码都自己写出来,收获不少。总结:适合入门。...

    公众号---志学Python
  • 搭建一个Hexo博客

    0x00 背景 一直想搭建一个自己的博客,之前在Aliyun虚拟主机上搭了一个WordPress+MySQL的个人博客。后来维护成本太大,主机和域名都没有续费被...

    WeaponX
  • 在数组中查找次大值,并与最后一个元素交换—C语言

    汐楓

扫码关注云+社区

领取腾讯云代金券