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

yipeiwu_com7年前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面向对象程序设计之类的定义与继承简单示例

本文实例讲述了Python面向对象程序设计之类的定义与继承。分享给大家供大家参考,具体如下: 定义类: class A: def __init__(self, name):...

python调用cmd命令行制作刷博器

复制代码 代码如下:import webbrowser as webimport timeimport os count=0while count<10:  &...

Python用list或dict字段模式读取文件的方法

前言 Python用于处理文本数据绝对是个利器,极为简单的读取、分割、过滤、转换支持,使得开发者不需要考虑繁杂的流文件处理过程(相对于JAVA来说的,嘻嘻)。博主自己工作中,一些复杂的文...

Python socket套接字实现C/S模式远程命令执行功能案例

本文实例讲述了Python socket套接字实现C/S模式远程命令执行功能。分享给大家供大家参考,具体如下: 一. 前言 要求: 使用python的socket套接字编写服务器/客户...

Python实现定时备份mysql数据库并把备份数据库邮件发送

一、先来看备份mysql数据库的命令 mysqldump -u root --password=root --database abcDataBase > c:/abc_bac...