pandas筛选数值列和非数值列方式

 更新时间:2024年02月22日 08:38:18   作者:Kevin Davis  
这篇文章主要介绍了pandas筛选数值列和非数值列方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

pandas筛选数值列和非数值列

筛选数值类型的列

numeric_columns = df.select_dtypes(include=['number']).columns

df为dataframe类型的数据。

筛选非数值类型的列

non_numeric_columns = df.select_dtypes(exclude=['number']).columns.to_list()

含数值列就用include,不要数值列就用exclude。

Pandas常见筛选数据的五种方法其一逻辑筛选

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

逻辑筛选数据

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

展示使用的数据结构

import pandas as pd
PATH = '/tmp/MSD0921.xlsx'
dataframe = pd.read_excel(PATH,engine='openpyxl', nrows=50)
SD1SD2SD3SD4SD5SD6SD7SD8
047212676
155555555
217111666
366322222
444444444
...........................
25815211776
25917742171
26013545556
26113555532
26217777777

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所有行数。在使用切片 [ ],进行取数据。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用python爬取斗鱼app中照片方法实例

    利用python爬取斗鱼app中照片方法实例

    最近在学习python,通过实践是学习的一个好办法,下面这篇文章就来给大家介绍了关于利用python爬取斗鱼app中照片的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
    2017-12-12
  • 在django中图片上传的格式校验及大小方法

    在django中图片上传的格式校验及大小方法

    今天小编就为大家分享一篇在django中图片上传的格式校验及大小方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python群发邮件实例代码

    Python群发邮件实例代码

    今天试了试Python发邮件,突然想到能不能群发邮件呢?群发邮件是smtplib的一个bug,不过最终还是解决了
    2014-01-01
  • python如何建立全零数组

    python如何建立全零数组

    在本篇内容里小编给大家分享了关于python建立全零数组的方法,需要的朋友们跟着学习下吧。
    2020-07-07
  • 浅谈Python中的模块

    浅谈Python中的模块

    这篇文章主要介绍了Python中的模块相关知识,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • keras做CNN的训练误差loss的下降操作

    keras做CNN的训练误差loss的下降操作

    这篇文章主要介绍了keras做CNN的训练误差loss的下降操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • openstack中的rpc远程调用的方法

    openstack中的rpc远程调用的方法

    今天通过本文给大家分享openstack中的rpc远程调用的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07
  • 在Python的列表中利用remove()方法删除元素的教程

    在Python的列表中利用remove()方法删除元素的教程

    这篇文章主要介绍了在Python的列表中利用remove()方法删除元素的教程,是Python入门中的基础知识,注意其和pop()方法的区别,需要的朋友可以参考下
    2015-05-05
  • python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例

    python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例

    这篇文章主要介绍了python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例,需要的朋友可以参考下
    2020-03-03
  • Python深入浅出分析enum枚举类

    Python深入浅出分析enum枚举类

    在python中枚举是一种类(Enum,IntEnum),存放在enum模块中。枚举类型可以给一组标签赋予一组特定的值,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论