あなたはそれを整数型に変換した後、isNull()
方法のブール出力を加算することにより、欠損値を数えることができる:Python
で
import org.apache.spark.sql.functions.{sum, col}
df.select(df.columns.map(c => sum(col(c).isNull.cast("int")).alias(c)): _*).show
:
Scala
では:
from pyspark.sql.functions import col,sum
df.select(*(sum(col(c).isNull().cast("int")).alias(c) for c in df.columns)).show()
あるいは、またdf.describe().filter($"summary" === "count")
の出力を使用して、データの行の数で各セルに数値を引くことができ:Scala
で
:Python
で
import org.apache.spark.sql.functions.lit,
val rows = df.count()
val summary = df.describe().filter($"summary" === "count")
summary.select(df.columns.map(c =>(lit(rows) - col(c)).alias(c)): _*).show
:
from pyspark.sql.functions import lit
rows = df.count()
summary = df.describe().filter(col("summary") == "count")
summary.select(*((lit(rows)-col(c)).alias(c) for c in df.columns)).show()
も参照してください。https://stackoverflow.com/questions/41765739/count-the-number-of-non-null-values-in-a-spark-dataframe/41766643#41766643 –