详解pandas如何去掉、过滤数据集中的某些值或者某些行?

yipeiwu_com5年前Python基础

摘要在进行数据分析与清理中,我们可能常常需要在数据集中去掉某些异常值。具体来说,看看下面的例子。


0.导入我们需要使用的包

import pandas as pd

pandas是很常用的数据分析,数据处理的包。anaconda已经有这个包了,纯净版python的可以自行pip安装。

1.去掉某些具体值

数据集df中,对于属性appPlatform(最后一列),我们想删除掉取值为2的那些样本。如何做?非常简单。

import pandas as pd

df[(True-df['appPlatform'].isin([2]))]


当然,有时候我们需要去掉不止一个值,这个时候只需要在isin([])的列表中添加。更具体来说,例如,对于appID这个属性,我们想去掉appID=278和appID=382的样本。

df[(True-df['appID'].isin([278,382]))]


另外,我们有时候并不只是考虑某一列,还需要考虑另外若干列的情况。例如,我们需要过滤掉appPlatform=2而且appID=278和appID=382的样本呢?非常简单。

df[(True-df['appID'].isin([278,382]))&(True-df['appPlatform'].isin([2]))]

其实,在这里我们看到,就是由两部分组成的,第一部分就是appID中等于278和382的,另外一部分就是appPlatform中等于2的。两者取逻辑关系 与(&)


2.过滤掉某个范围的值

上面我们是了解了如何取掉某个具体值,下面,我们要看看如何过滤掉某个范围的值。对于数据集df,我们想过滤掉creativeID(第一列)中ID值大于10000的样本。

df[df['creativeID']<=10000]


另外,如果要考虑多列的话,其实和上面一样,将两种情况做逻辑与(&)就可以,不过值得注意的是,每个条件要用括号()括起来。

以上所述是小编给大家介绍的pandas如何去掉、过滤数据集中的某些值或者某些行详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python 环境变量和import模块导入方法(详解)

1、定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹;用来存放模块文件 2、导...

50行Python代码实现人脸检测功能

50行Python代码实现人脸检测功能

  现在的人脸识别技术已经得到了非常广泛的应用,支付领域、身份验证、美颜相机里都有它的应用。用iPhone的同学们应该对下面的功能比较熟悉   iPhone的照片中有...

Python回调函数用法实例详解

本文实例讲述了Python回调函数用法。分享给大家供大家参考。具体分析如下: 一、百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数...

Python转码问题的解决方法

比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode('utf-8′) 可是,在实际开发中,我发现,这种办法经常会出...

通过python下载FTP上的文件夹的实现代码

复制代码 代码如下:# -*- encoding: utf8 -*-import osimport sysimport ftplibclass FTPSync(object): ...