前言:Pandas的数据操作中,最基本的就是操作的筛选了,但是对新学员来说的这又是一个难点,因为方法比较多,不容易记。在此总结一下pandas中的一些常用的数据筛选操作。 

逻辑筛选数据:切片([ ]),loc,iloc,这三种都是支持逻辑表达式的,选其中一种比较常用的,逻辑运算符 与或非(& | ~)any,all

展示使用的数据结构:

import pandas as pd
PATH = '/tmp/MSD0921.xlsx'
dataframe = pd.read_excel(PATH,engine='openpyxl', nrows=50)
SD1 SD2 SD3 SD4 SD5 SD6 SD7 SD8
0 4 7 2 1 2 6 7 6
1 5 5 5 5 5 5 5 5
2 1 7 1 1 1 6 6 6
3 6 6 3 2 2 2 2 2
4 4 4 4 4 4 4 4 4
... ... ... ... ... ... ... ... ...
258 1 5 2 1 1 7 7 6
259 1 7 7 4 2 1 7 1
260 1 3 5 4 5 5 5 6
261 1 3 5 5 5 5 3 2
262 1 7 7 7 7 7 7 7

1、筛选出某一列大于某一个数的所有数据,例如:SD1>=7

"""筛选出SD1列中大于等于7的数据"""
dataframe[dataframe['SD1'] >= 7]

2、筛选出某一列大于或者小于另一列的输有数据,例如:SD1 < SD2

"""筛选出SD1列小于SD2列所有数据"""
dataframe.loc[dataframe['SD1'] < dataframe['SD2']]

3、筛选出某些列的值大于或小于某些值的所有数据,例如:SD1 >6并且SD1<3,使用 &

"""筛选出SD1大于6,并且SD2小于3的所有数据"""
dataframe.loc[(dataframe['SD1'] > 6) & ( dataframe['SD2'] < 3)]

 4、筛选出某些列的值大于或小于某些值的所有数据,例如:SD1 >6或者SD1<3,使用 |

"""筛选出SD1小于6,或者SD2小于3的所有数据,并集"""
dataframe.loc[(dataframe['SD1'] > 6) | ( dataframe['SD2'] < 3)]

注意:需要注意的是在进行或(|)、与(&)、非(~)运算时,各个独立逻辑表达式需要用括号括起来

除了上边的与或之外,pandas还提供了 all,any,对逻辑计算后的布尔值在进行判断,所有都为True,all才返回True,反之亦然,any满足其中之一即可。all,any可传参数axis,1为行方向,0为列方向。利用此方法可对整体数据逻辑判断。

5、筛选出某些列的值同时大于或同时小于某值的所有数据,例如SD1>6 SD2>6

"""筛选出SD1, SD2同时大于6的所有数据"""
dataframe[(dataframe.loc[:,['SD1', 'SD2']] > 6).all(1)]

逻辑解读: dataframe.loc[:,['SD1', 'SD2']] > 6,这个逻辑计算的是SD1,SD2同时大于6返回的布尔值,逗号前的冒号表示所有行,返回的是False或者True的一个dataframe数据,整体在进行.all(1),操作返回的是SD1,SD2都为True的为True,否者为False所有行数。在使用切片 [ ],进行取数据。

下篇文章会总结pandas的其他的一些常用方法,函数筛选

pandas结合匿名函数lambda、比较函数eq(),le(),lt(),ge(),gt()

dataframe.query()

dataframe.filter()

dataframe.select_dtypes()

Pandas常见筛选数据的五种方法其一逻辑筛选。看见必懂,懂者必会,会者必加分相关推荐

  1. android平台上持久化存储3种手段_Android 数据持久化==存储数据的五种方法

    1.使用SharedPreferences存储数据 2.文件存储数据 3.SQLite数据库存储数据 4.使用ContentProvider存储数据 5.网络存储数据 第一种: 使用SharedPre ...

  2. azure云数据库_在Azure SQL数据库中保护数据的五种方法

    azure云数据库 When storing data in the cloud the main concern companies generally have is whether or not ...

  3. Pandas常见的数据过滤方法、通过列条件筛选行数据

    Pandas常见的数据过滤方法.通过列条件筛选行数据 不废话了,直接看代码吧: 一般情况下,前面5种就覆盖了绝大多数需求 import pandas as pd import numpy as npd ...

  4. pandas提取数据的6种方法

    pandas提取数据的6种方法 pandas是Python数据分析必备工具,它有强大的数据清洗能力,往往能用非常少的代码实现较复杂的数据处理. 五个方面: 比较运算:.<.>.>=. ...

  5. 怎么用计算机计算减法,有关Excel数据减法运算的五种方法,都很好用

    需要对Excel表格中的数据进行减法运算,一般人会直接选择使用函数,其实不然,有关Excel数据减法计算的方法有很多,我们可以根据不同的情况来做选择.本文详细整理了五种方法,可以对单元格数据进行减法运 ...

  6. 小程序页面之间数据传递的五种方法

    小程序页面之间数据传递的五种方法 目录 小程序页面之间数据传递的五种方法 **使用 `wx.navigateTo()` 时,在 url 中拼接,这种方法适用于数据量少的情况** **使用 `wx.na ...

  7. excel按季度分类汇总_excel进行分类汇总的五种方法

    excel 进行分类汇总的五种方法 方法 1 :使用创造性的 IF 语句和"选择性粘贴" 步骤如下: 按账户(列 A )对数据进行排序. 在列 C 中创建一个公式, 以持续对每个账 ...

  8. 漫谈分子动力学计算热导率的五种方法

    关注 Mr.material,\color{Violet} \rm Mr.material\ ,Mr.material , 更\color{red}{更}更多\color{blue}{多}多精\col ...

  9. 素数(质数)判断的五种方法

    素数判断的五种方法 素数判断是我们写程序过程中经常遇见的一个问题,于是今天我简单地整理一下常用的素数判断的方法. 素数的介绍 素数定义 质数(prime number)又称素数,有无限个.一个大于1的 ...

最新文章

  1. [LeetCode]Perfect Squares
  2. lucene基本原理
  3. 【Python】from __future__ import absolute_import的作用
  4. Moss/Sharepoint 2010 Form认证(FBA)
  5. Linux 命令之 hostnamectl -- 查看/修改当前主机的信息
  6. ithoughts怎么自定义样式_Word 表格样式,用过的人可能都会遇到这个问题
  7. zabbix配置飞信报警
  8. Anaconda3创建、删除虚拟环境(win10)
  9. 神经网络模型-ART 自适应共振网络
  10. 制作可爱的小黄人插图
  11. 主会场与分会场直播场景自由切换的实际应用效果
  12. 树莓派配置https://www.raspberrypi.org/documentation/configuration/中的一个单词翻译:
  13. Ubuntu 安装源及初始配置
  14. H.265网页播放器EasyPlayer获取视频流正常,但是播放出现黑屏是什么原因?
  15. [carla]关于odometry坐标中的角度坐标系 以及 到地图的映射问题
  16. tf2加载图片数据集并训练
  17. 基于 Vue JS、Element UI、Nuxt JS的项目PC端前端手册
  18. CCI金融技术指标的算法
  19. 红米note5linux刷机包_红米Note5线刷刷机教程_红米Note5官方固件rom原版刷机包
  20. PS流详解(载荷H264)

热门文章

  1. 灰度共生矩阵(GLCM)计算速度快很多,用numpy写的
  2. matlab绘图 作业,实验作业2 - -MATLAB作图
  3. 浅析直播间海量聊天消息的架构设计难点
  4. 文件上传到云服务器对象存储oos流程
  5. ValueError: You are trying to load a weight file containing 0 layers into a model with 16 layers.
  6. 前端——列表、表格、表单
  7. python snmp_cmds库snmpwalk 中文正常显示方法
  8. 学习TypeScrip3(接口和对象类型)
  9. Oracle数据库配置完全实战手册
  10. 非常好听但比较难找的歌曲