W poniższym przykładzie df.a == 1
predykat zwraca poprawny wynik ale df.a == None
zwraca 0 gdy powinna powrócić 1.Jak uzyskać wiersze z DF, które zawierają wartość None w pyspark (iskry)
l = [[1], [1], [2], [2], [None]]
df = sc.parallelize(l).toDF(['a'])
df # DataFrame[a: bigint]
df.collect() # [Row(a=1), Row(a=1), Row(a=2), Row(a=2), Row(a=None)]
df.where(df.a == 1).count() # 2L
df.where(df.a == None).count() # 0L
Korzystanie iskra 1.3.1
Świetna odpowiedź chłopaki. Rozumiem, że tutaj pytanie jest specyficzne dla pyspark, ale pomyślałem, że nie zaszkodzi również objaśnienie, jak podobną logikę można rozwiązać w Scali oraz df.filter (df.col ("a"). IsNull() lub df.col ("a"). isNaN()) .count() Mam nadzieję, że było to pomocne – Pramit