J'ai un cadre de données dans pyspark avec plus de 300 colonnes. Dans ces colonnes, certaines colonnes ont la valeur null.
Par exemple:
Column_1 column_2
null null
null null
234 null
125 124
365 187
and so on
Lorsque je veux faire une somme de column_1, je reçois un résultat Null, au lieu de 724.
Maintenant, je veux remplacer le null dans toutes les colonnes du cadre de données par un espace vide. Ainsi, lorsque j'essaie de faire la somme de ces colonnes, je n'obtiens pas une valeur nulle, mais une valeur numérique.
Comment pouvons-nous atteindre cela dans pyspark
Vous pouvez utiliser df.na.fill
pour remplacer les valeurs nulles par des zéros, par exemple:
>>> df = spark.createDataFrame([(1,), (2,), (3,), (None,)], ['col'])
>>> df.show()
+----+
| col|
+----+
| 1|
| 2|
| 3|
|null|
+----+
>>> df.na.fill(0).show()
+---+
|col|
+---+
| 1|
| 2|
| 3|
| 0|
+---+
Vous pouvez utiliser fillna () func.
>>> df = spark.createDataFrame([(1,), (2,), (3,), (None,)], ['col'])
>>> df.show()
+----+
| col|
+----+
| 1|
| 2|
| 3|
|null|
+----+
>>> df = df.fillna({'col':'4'})
>>> df.show()
or df.fillna({'col':'4'}).show()
+---+
|col|
+---+
| 1|
| 2|
| 3|
| 4|
+---+