Pandas实现简单筛选数据功能


一、简述

python的pandas库可以轻松的处理excel中比较难实现的筛选功能,以下简单的介绍几种利用pandas实现筛选功能方式:

二、模块介绍

pandas——专为解决数据分析与处理任务而创建的。

引入模块:

  • import pandas as pd ,导入 pandas 包;
  • df=pd.read_excel('data.elsx',sheet_name=''sheet1"),加载 Excel 数据;
  • 指定文件路径,由于文件在 Python 脚本同目录,直接输入文件名即可
  • sheet_name 指定读取哪个工作表、也可以写为sheet_name=0

三、样例

3.1 简单查询

  1. 筛选出数据的指定几行数据

    自定义函数变量data

data=df.loc[2:5] #这里的[2:5]表示第3行到第5行内容,[]第一个起始是0,表示数据的第一行
  1. 筛选出数据某列为某值的所有数据记录
df['列名'] = '值'
  1. 多条件匹配时

    自定义函数data_many

 data_many=df[(df['列名1']== ‘列值1’)&(df['列名2']==‘列值2’)]
  1. 多值匹配时
 data_many="列名 in [‘值1’,‘值2’,......]"

是不是很像SQL的语句:select * from id where name in ('值1',‘值2’,‘值3’)

3.2 模式匹配

某列中开头是某值,中间包含某值的模式匹配法,可能在Excel中实现比较困难,但是python就非常简单了。

自定义函数获取返回函数值——cond

  1. 开头包含某值的模式匹配
cond=df['列名'].str.startswith('值')
  1. 中间包含某值的模式匹配
cond=df['列名'].str.contains('值')

3.3 范围区间值筛选

筛选出基于两个值之间的数据:

自定义函数cond

cond=df[(df['列名1']>‘列值1’)&(df['列名1']<‘列值2’)]

返回列名1介于列值1和列值2之间的数据


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM