我想弄清楚如何从我的数组中删除nan值。我的数组看起来像这样:
x = [1400, 1500, 1600, nan, nan, nan ,1700] #Not in this exact configuration
如何从x
中删除nan
值?
试试这个:
import math
print [value for value in x if not math.isnan(value)]
更多信息,请阅读列表理解。
filter(lambda v: v==v, x)
适用于列表和numpy数组,因为v=v仅适用于NaN
如果对阵列使用numpy,也可以使用
x = x[numpy.logical_not(numpy.isnan(x))]
等价地
x = x[~numpy.isnan(x)]
[感谢chbrown添加的速记]
解释
内部函数numpy.isnan
返回一个布尔/逻辑数组,该数组在x
不是数字的地方都有值True
。由于我们想要相反的结果,我们使用逻辑not运算符,~
得到一个数组,其中True
s是一个有效的数字。
最后,我们使用这个逻辑数组索引到原始数组x
,以检索非NaN值。
问题内容: 这是我在角度控制器中创建的数组。 然后,我使用push方法将一些值插入到数组中: 这是插入后的数组值: 在插入之后,这里已经向数组添加了额外的东西,但是我需要从数组中删除它。 问题答案: 根据您需要将数组插入数据库的评论,我将假设您将其转换为JSON字符串,然后将其保存到数据库中。如果不正确,请告诉我,我将看看是否可以修改此答案。 在将数组转换为JSON时,有两个选项可用于修改数组。第
问题内容: 我有一个基于不同气象站的数据集, 我想删除具有多个NaN的’stationID’组。例如,如果我键入: 然后,我想删除一个组中至少具有一定数量的NaN(例如30个)的组。据我了解,我不能将dropna(thresh = 10)与groupby一起使用: 那么,用熊猫做到这一点的最佳方法是什么? 问题答案: 你可以做的IIUC 例: 因此,这将滤除具有大于1 nan值的组
问题内容: 我有一个数组: 我想从中删除所有零,以便返回(保持相同的顺序): 有什么比以下方法更简单的方法来删除所有零? 我无法在Arrays类中找到任何方法,并且Google / SO搜索没有给我任何好的答案。 问题答案: 这是在少数情况下,用代码显示比用普通英语解释更容易的情况之一:
问题内容: 有什么快速(好看的)方法可以从Java中的数组中删除元素? 问题答案: 你可以使用的。
问题内容: 文件: 有没有办法从数组中提取特定对象?IE如何从项数组中提取ID为23的整个项对象。 我努力了: 但是我很确定我没有正确使用’pull’。据我了解,pull将从数组中拉出字段,而不是对象。 关于如何将整个对象从数组中拉出的任何想法。 另外,我尝试在mongoose / nodejs中执行此操作,也不确定这种类型的内容是否在mongoose API中,但我找不到它。 问题答案: 尝试.
问题内容: 我需要从满足条件的数组中删除对象,我可以根据条件更新数组的对象,如下所示: 这正在工作 为了删除我正在这样做 但这不起作用,并给出此错误, ElasticsearchIllegalArgumentException [无法执行脚本]; 嵌套:ConcurrentModificationException; 错误:ElasticsearchIllegalArgumentException