python-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之间的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸落寰宇

小编会不断努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值