在Java中用0替换Nan值[重复]

Posted

技术标签:

【中文标题】在Java中用0替换Nan值[重复]【英文标题】:Replace the Nan values with 0 in Java [duplicate] 【发布时间】:2021-06-27 09:04:36 【问题描述】:

您好,我需要在我的 java 数组中将 Nan 值替换为 0,感谢您的帮助。你可以找到我的数组的例子。

数组类型为double,数组内容如下。

x = [ 1 , 2, Nan , 4, Nan ] 

【问题讨论】:

你的数组是什么类型的? 它是一个双[] 无法想象 Nan 在 java 中是如何作为 double 存在的...... @forrestg 有一个静态变量Double.NaN 很高兴知道这一点,~~ 【参考方案1】:

循环数组并使用Double中的isNaN方法检查数字是否为NaN

for(int i=0; i<array.length; i++)
    if(Double.isNaN(array[i])) 
        array[i] = 0d;
    

【讨论】:

【参考方案2】:

在 Java Nan != Nan 的计算结果为真。

double[] x =  1 , 2, Double.NaN , 4, Double.NaN;
System.out.println(Arrays.toString(x));
for (int i = 0; i < x.length; i++) 
    if(x[i]!=x[i]) 
        x[i] = 0;
    

System.out.println(Arrays.toString(x));

输出:

[1.0, 2.0, NaN, 4.0, NaN]
[1.0, 2.0, 0.0, 4.0, 0.0]

【讨论】:

不错的技巧,但我会坚持使用Double.isNaN,因为等式可能会在未来的 java 版本中发生变化。

以上是关于在Java中用0替换Nan值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

pandas:用列中的最后一个非 NaN 值替换 NaN [重复]

如何在巨大的数据框中用零替换 NaN 值?

如何在python中替换NaN值[重复]

在熊猫中用 NaN 替换空白值(空格)

如何用熊猫(python)中的其他值替换NAN [重复]

检查NAN值java [重复]