我可以在 if() 中使用 IsNull 或 na 来检查缺失值吗?
Can I use IsNull or na in if() to check missing value?
这个不是重复的我有新问题。我试着写这个
package org.apache.spark.h2o.utils
import water.fvec.{NewChunk, Frame, Chunk}
import water._
class Miss extends MRTask {
override def map(c: Chunk, nc: NewChunk): Unit = {
for (row <- 0 until c.len()) {
if(c.atd(row) == 0){
nc.addNum(0)
}
else
nc.addNum(1)
}
}
}
我可以在 if (...)
中使用 na 或 IsNull 来检查 row
是否为空吗?
代码结果
A B C D E NaN
min 0
mean 0
stddev 0
max 1
missing 0
0 5.1 3.5 1.4 0.2 Iris-setosa 1
1 4.9 3 1.4 0.2 Iris-setosa 1
2 4.7 3.2 1.3 0.2 Iris-setosa 1
3 4.6 3.1 1.5 0.2 Iris-setosa 1
4 5 3.6 1.4 0.2 Iris-setosa 1
5 5.4 3.9 1.7 0.4 Iris-setosa 1
6 4.6 3.4 1.4 0.3 Iris-setosa 1
7 5 3.4 1.5 0.2 Iris-setosa 1
8 4.4 2.9 1.4 0.2 Iris-setosa 1
9 4.9 3.1 1.5 0.1 Iris-setos...
类似的东西:
c.atd(row) match {
case nan: Double if nan.isNaN => nc.addNum(0)
case 0 => nc.addNum(0)
case _ => nc.addNum(1)
}
这个不是重复的我有新问题。我试着写这个
package org.apache.spark.h2o.utils
import water.fvec.{NewChunk, Frame, Chunk}
import water._
class Miss extends MRTask {
override def map(c: Chunk, nc: NewChunk): Unit = {
for (row <- 0 until c.len()) {
if(c.atd(row) == 0){
nc.addNum(0)
}
else
nc.addNum(1)
}
}
}
我可以在 if (...)
中使用 na 或 IsNull 来检查 row
是否为空吗?
代码结果
A B C D E NaN
min 0
mean 0
stddev 0
max 1
missing 0
0 5.1 3.5 1.4 0.2 Iris-setosa 1
1 4.9 3 1.4 0.2 Iris-setosa 1
2 4.7 3.2 1.3 0.2 Iris-setosa 1
3 4.6 3.1 1.5 0.2 Iris-setosa 1
4 5 3.6 1.4 0.2 Iris-setosa 1
5 5.4 3.9 1.7 0.4 Iris-setosa 1
6 4.6 3.4 1.4 0.3 Iris-setosa 1
7 5 3.4 1.5 0.2 Iris-setosa 1
8 4.4 2.9 1.4 0.2 Iris-setosa 1
9 4.9 3.1 1.5 0.1 Iris-setos...
类似的东西:
c.atd(row) match {
case nan: Double if nan.isNaN => nc.addNum(0)
case 0 => nc.addNum(0)
case _ => nc.addNum(1)
}