一、简述:
python的pandas库可以轻松的处理excel中比较难实现的筛选功能,以下简单的介绍几种利用pandas实现筛选功能方式:
二、模块介绍:
pandas——专为解决数据分析与处理任务而创建的。
引入模块:- import pandas as pd ,导入 pandas 包
df=pd.read_excel('data.elsx',sheet_name=''sheet1")
- pd.read_excel ,即可加载 Excel 数据
- 指定文件路径,由于文件在 Python 脚本同目录,直接输入文件名即可
- sheet_name 指定读取哪个工作表、也可以写为sheet_name=0(第一个sheet)
三、功能介绍:
1.筛选出数据的指定几行数据:
自定义函数变量data
例如:data=df.loc[2:5] #这里的[2:5]表示第3行到第5行内容,[]第一个起始是0,表示数据的第一行。
2.筛选出数据某列为某值的所有数据记录:
df['列名']=='值' ,例如:df['sex']=='M' 性别等于M
多条件匹配时:
自定义函数data_many
data_many=df[(df['列名1']==‘列值1’)&(df['列名2']==‘列值2’)]
多值匹配时候:
data_many="列名 in [‘值1’,‘值2’,......]"
是不是很像SQL的语句:select * from id where name in ('值1',‘值2’,‘值3’)
三、模式匹配:
某列中开头是某值,中间包含某值的模式匹配法,可能在Excel中实现比较困难,但是python就非常简单了。
自定义函数获取返回函数值——cond
1.开头包含某值的模式匹配
cond=df['列名'].str.startswith('值')
2.中间包含某值的模式匹配:
cond=df['列名'].str.contains('值')
四、范围区间值筛选:
筛选出基于两个值之间的数据:
自定义函数cond
cond=df[(df['列名1']>‘列值1’)&(df['列名1']<‘列值2’)]
返回列名1介于列值1和列值2之间的数据