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

2024-03-01 0 195
目录
  • pandas筛选数值列和非数值列
    • 筛选数值类型的列
    • 筛选非数值类型的列
  • 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)

    SD1SD2SD3SD4SD5SD6SD7SD8047212676155555555217111666366322222444444444………………………2581521177625917742171260135455562611355553226217777777

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

    \”\”\”筛选出SD1列中大于等于7的数据\”\”\”
    dataframe[dataframe[\’SD1\’] >= 7]

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

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

    \”\”\”筛选出SD1列小于SD2列所有数据\”\”\”
    dataframe.loc[dataframe[\’SD1\’] < dataframe[\’SD2\’]]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

    您可能感兴趣的文章:

    • pandas如何筛选某个列值是否位于某个列表内
    • pythonpandas轻松通过特定列的值多条件去筛选数据及contains方法的使用
    • pythonpandasdataframe多列筛选方式
    • Python数据清洗之利用pandas筛选数据详解
    • pandas实现对一列/多列进行数据区间筛选

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Python pandas筛选数值列和非数值列方式 https://www.u-9.cn/jiaoben/python/180385.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务