Pandas DataFrame 筛选数据几种方法实现

 更新时间:2024年12月31日 09:57:51   作者:m0_62172798  
本文介绍了四种在DataFrame中筛选数据的方法:根据字段、标签、位置、布尔索引和通过query进行筛选,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

DataFrame筛选数据的方法包括:根据字段、标签、位置、布尔索引、通过query进行筛选。

1、根据字段筛选数据

根据字段筛选简单理解为根据每一列继续筛选,将想要的列拿出再对齐进行操作,可以提高效率。

可以通过df.字段名、df[字段名]或df[['字段名']](此种方法可以拿取多列数据,并形成一个新的dataframe)

直接看代码

import pandas as pd
import numpy as np

df=pd.DataFrame(np.random.randint(0,150,size=(150,3)),
                columns=['math','python','english']
                )
print(df)
print(df.python)
print(df["math"])
print(df[['math']])
print(df[['math','python']])

2、根据标签筛选数据

标签可以理解为索引(每一行),标签除了默认的数字之外,在定义时可以根据需求进行定义。

通过loc进行操作  

import pandas as pd
import numpy as np

df=pd.DataFrame(np.random.randint(0,100,size=(10,3)),
                index=list('ABCDEFGHIG'),
                columns=['math','python','english']
                )
print(df.loc['A'])#筛选出标签A这一行
print(df.loc[['A']])#将A这一行返回成一个新的DataFrame
print(df.loc[['A','B']])#将AB两行返回成DataFrame
print(df.loc[['A','B'],['math','python']])#左边为标签,右边为字段,即将AB两行的math、python两列返回
print(df.loc['A':'F',['math','python']])#采用分区方法,将A到F行的此两列返回
print(df.loc[:,['math','python']])#单独的‘:'表示所有行
print(df.loc['B'::2])#从B开始隔一个取一个

3、根据布尔索引筛选数据

通过比较运算进行创造布尔条件,通过其值进行筛选。值得注意的是其逻辑运算为(&、|、~)

import pandas as pd
import numpy as np

df=pd.DataFrame(np.random.randint(0,151,size=(2000,3)),
                columns=['math','python','english']
                )
cond1=df.python>99#其返回值为一个bool类型的series,需要变量进行接受
print(cond1)
df1=df[cond1]
print(df1[['python']])#将cond1作为筛选条件,这里为了只看其中一列,用一个新的dataframe

print(df[df>50])#对df中的所有元素进行判定,其false项会换成NaN

print(df[df.python.isin([108])])#使用isin方法查找python分数为108,中括号里也可以为数组

4、通过query筛选数据

query()方法允许使用SQL表达式进行筛选数据

df2=df.query('python>135 and math>120 and english > 100')
print(df2)

到此这篇关于Pandas DataFrame 筛选数据几种方法实现的文章就介绍到这了,更多相关Pandas DataFrame 筛选内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Python利用正则提取字符串中数字的方法汇总

    Python利用正则提取字符串中数字的方法汇总

    本文介绍了10种使用Python正则表达式提取股票代码的方法,从简单直接的findall提取所有数字,到精确匹配特定格式的代码,再到处理多种格式的股票代码和批量处理列表,需要的朋友可以参考下
    2026-02-02
  • Java实现的执行python脚本工具类示例【使用jython.jar】

    Java实现的执行python脚本工具类示例【使用jython.jar】

    这篇文章主要介绍了Java实现的执行python脚本工具类,结合实例形式分析了java使用jython.jar执行Python脚本的具体操作技巧,需要的朋友可以参考下
    2018-03-03
  • 跟老齐学Python之使用Python查询更新数据库

    跟老齐学Python之使用Python查询更新数据库

    前面我们讲述了使用python操作数据库,今天我们来更进一步,介绍下python查询、更新数据库的相关操作。有需要的小伙伴自己参考下吧。
    2014-11-11
  • Python实现Excel数据自动化处理的全过程

    Python实现Excel数据自动化处理的全过程

    本文介绍了Python处理Excel数据的优势、环境准备、核心操作实现、实战案例、性能优化技巧以及常见问题,通过Python自动化工具,可以显著提高数据处理效率,减少错误率,并使数据处理成为可积累、可优化的智能流程,需要的朋友可以参考下
    2025-12-12
  • Pandas merge合并两个DataFram的实现

    Pandas merge合并两个DataFram的实现

    本文主要介绍了Pandas merge合并两个DataFram的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 在Python中利用Bokeh创建动态数据可视化

    在Python中利用Bokeh创建动态数据可视化

    在本文中,我们探讨了如何利用 Bokeh 库在 Python 中创建动态数据可视化,我们介绍了 Bokeh 的基本概念和优势,以及如何安装 Bokeh 库,对在Python中利用Bokeh创建动态数据可视化相关知识感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • 基于Python实现DIT-FFT算法

    基于Python实现DIT-FFT算法

    FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。本文将用Python语言实现DIT-FFT算法,感兴趣的可以了解一下
    2022-10-10
  • 基于Python判断节假日的几种方式小结

    基于Python判断节假日的几种方式小结

    本文介绍了如何使用Python库如holidays和chinesecalendar在信息安全巡检中判断节假日,包括工作日、法定节假日以及调休情况,同时提到了可能存在的局限性,如特定假期的覆盖不足和政策变动需要更新库,需要的朋友可以参考下
    2025-12-12
  • 在Spyder中如何导入项目

    在Spyder中如何导入项目

    文章介绍了在Spyder中导入已存在项目时遇到的错误及解决方法,通过创建新项目并复制`.spyproject`文件夹到已存在项目中,可以成功导入项目,此外,还提到如何在Spyder中显示项目资源管理器
    2025-01-01
  • Python的@property的使用

    Python的@property的使用

    通常,当我们需要对对象的敏感属性或者不希望外部直接访问的属性进行私有化,但是某些时候我们又需要对这些私有属性进行修改,该怎么处理呢,感兴趣的可以了解一下
    2021-07-07

最新评论