脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 详解pandas如何去掉、过滤数据集中的某些值或者某些行?

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

2021-06-27 00:05kingsam_ Python

这篇文章主要介绍了pandas如何去掉、过滤数据集中的某些值或者某些行?,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

import pandas as pd

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

1.去掉某些具体值

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

import pandas as pd

?
1
df[(true-df['appplatform'].isin([2]))]

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

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

?
1
df[(true-df['appid'].isin([278,382]))]

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

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

?
1
df[(true-df['appid'].isin([278,382]))&(true-df['appplatform'].isin([2]))]

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

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

2.过滤掉某个范围的值

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

?
1
df[df['creativeid']<=10000]

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

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

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

原文链接:https://blog.csdn.net/qq_22238533/article/details/76127966

延伸 · 阅读

精彩推荐