pandas 筛选_Pandas数据处理基础入门(三):数据的行列筛选

在把数据读入Python运行环境后,很多时候我们并不能直接对数据进行进一步的分析,而是要对数据进行必要的整理和清洗,使数据形态更加符合我们的分析需求。今天我们就先来看一下数据的行列筛选。

首先我们调用Pandas程序包,把目标EXCEL文件读进来赋值给data并查看以下数据是否正常读入。

import pandas as pddata=pd.read_excel('D:/temp/员工综合绩效分析.xlsx',sheet_name='综合绩效分析')data.head()

4119b5225540471670aa8bc8c077e991.png

确认文件读入无误后,我们先来去除一下某一列,比如最后一列“业务考试”:

data=data.drop('业务考试',1)

c246c563369c17c3487a774c3084cdf9.png

这里用到的是drop命令,意思是“丢弃”;第二个参数是坐标轴方向的设定0或默认为纵向,1为横向,意思是告诉drop命令横向丢弃列,不要纵向丢弃行。

那如果我要丢弃多个列呢?这时候我们就需要把所有要丢弃的列放入一个列表。列表是Python的基本数据组织形式之一,以英文状态下的中括号为标记[...],使我们能够对数值或数据文件进行批量操作。

data=data.drop(['性别','居住地'],1)

a1d4e9b61791ad76fdec9f33ed237623.png

以上这种反向操作方法常被用在需要保留大多数列,丢弃少数列的情况下。那么当我们需要抽取少数列,放弃大多数列的时候,还可以采取数据列的直接提取法。比如我们只需要“姓名”、“班组”、“质检成绩”、“平均处理时长”四列,其它的不要。就可以进行如下的操作:

data5=data[['姓名','班组','质检成绩','平均处理时长']]

15cd8f34c978a2b6ed092b5caad4eb79.png

除了对列的操作外,对行的筛选操作也是我们的日常数据整理必备。首先我们来看如何提取某一类别的数据,比如班组一的数据。

data1=data[data.班组==1]

data.班组也可以写成data['班组'],python里的等于要用双等于号表示。结果如下:

6c9f3057bcd9a12e73b6d81be71e4c7b.png

那么基于以上规则,我们就可以灵活筛选出班组二、性别女、教育程度大学等等各种分类条件的数据。

那么想得到绩效区间值的数据又该如何筛选呢?其实还是一样的命令,只不过不再是==某个类别,而是变成了大于或小于的区间比较运算符。比如我们想把月度接听量大于3300的员工筛选出来,就可以使用以下命令:

data2=data[data.月度接听量>3300]

fd2e3d28e17e07e56679f8234c17a2d0.png

如果是多条件,我们只需要用相应的运算符把条件连接起来就可以了。比如我们想得到(月度接听量大于3300)且同时(平均处理时长小于200秒)的员工清单,则可以使用如下命令:

data3=data[(data.月度接听量>3300)&(data.平均处理时长<200)]

935427a44afea8e417d200333c6ae93f.png

同EXCEL一样,Pandas实现某种数据结果的操作方法也可以有多种。以上都是最直观、最容易理解的方法。而除此之外,我们还可以用loc, iloc, apply+lambda表达式等方法实现同样的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值