当前位置: 首页 > 面试题库 >

筛选出超过一定数量NaN的行

钱旻
2023-03-14
问题内容

在Pandas数据框中,我想过滤出所有大于2 NaNs的行。

本质上,我有4列,我只想保留至少2列具有有限值的那些行。

有人可以建议如何实现这一目标吗?


问题答案:

以下应该工作

df.dropna(thresh=2)

查看在线文档

我们在这里所做的是删除任何NaN行,其中一行中有2个或更多非NaN值。

例:

In [25]:

import pandas as pd

df = pd.DataFrame({'a':[1,2,NaN,4,5], 'b':[NaN,2,NaN,4,5], 'c':[1,2,NaN,NaN,NaN], 'd':[1,2,3,NaN,5]})

df

Out[25]:

    a   b   c   d
0   1 NaN   1   1
1   2   2   2   2
2 NaN NaN NaN   3
3   4   4 NaN NaN
4   5   5 NaN   5

[5 rows x 4 columns]

In [26]:

df.dropna(thresh=2)

Out[26]:

   a   b   c   d
0  1 NaN   1   1
1  2   2   2   2
3  4   4 NaN NaN
4  5   5 NaN   5

[4 rows x 4 columns]

编辑

对于上面的示例,它可以工作,但是您应该注意,您必须知道列数并thresh适当地设置值,我原本以为这意味着NaN值的数量,但实际上意味着

NaN值的数量。



 类似资料:
  • 如果不使用我如何在没有的情况下过滤数据? 假设我有一个矩阵,客户将填写或其任何变体,其他人则将其留空: 输出: 我如何过滤掉值,这样我就可以得到这样的结果: 我想我需要像但是tilda不能处理字符串。

  • 我在AWS上的Kubernetes集群中部署了HashiCorp的存储库,使用了Helm图。 部署中的副本数指定为。 在这3个POD中,已就绪(),而其他两个副本POD尚未就绪()。我杀死了准备就绪的吊舱,虽然预计Kubernetes将部署一个新的吊舱来取代它,但它部署了两个新的吊舱。 现在我有两个准备好的吊舱和两个没有准备好的吊舱。删除其中一个豆荚后,现在库伯内特斯只重新创建一个豆荚。因此我有而

  • 编辑2019:此问题是在2016年11月,当前方法和以前方法的接受答案如下。 我有一个<code>数据。表约有250万行的表。有两列。我想删除两列中重复的任何行。之前的数据。帧我会这样做:<code>df- 有什么建议吗? 干杯,戴维 例 在上面的data.table中,其中< code>V2是表键,只有第4、7和10行将被删除。

  • 我试图创建一个简单的脚本,通过自定义参数数组过滤嵌套字段数组,通过我的for循环抛出错误。 映射 源(_S) 脚本如下所示: 如果我用一个简单的字符串替换“params['自定义字段'][I]”部分,它工作得很好,所以我猜我的问题就在那里,但不知道到底是什么。 另一个注意事项,知道如何构造我的查询,以便在“_source”中返回来自无痛脚本的结果吗? 最后,我想做这样的事情: 但首先我想让它使用上

  • 在开始之前,我想说我已经检查了以下内容,但它们没有帮助我: HikariCP连接错误 HikariCP-连接不可用 https://github.com/brettwooldridge/HikariCP/issues/104 基本上,我得到了一个HikariCP stracktrace,我不知道是什么引起的。 我尝试更改,,并且我还启用了(在2s)。这些都没有帮助,除了我每次执行查询时都会得到泄漏

  • 问题 你想要根据布尔条件来筛选数组。 解决方案 使用 Array.filter (ECMAScript 5): array = [1..10] array.filter (x) -> x > 5 # => [6,7,8,9,10] 在 EC5 之前的实现中,可以通过添加一个筛选函数扩展 Array 的原型,该函数接受一个回调并对自身进行过滤,将回调函数返回 true 的元素收集起来。 # 扩展 A