Как заменить все нулевые значения фрейма данных в Pyspark
У меня есть фрейм данных в pyspark с более чем 300 столбцами. В этих столбцах есть несколько столбцов со значениями null.
например:
Column_1 column_2
null null
null null
234 null
125 124
365 187
and so on
когда я хочу сделать сумму column_1, я получаю в результате значение Null вместо 724.
теперь я хочу заменить null во всех столбцах фрейма данных пустым пространством. Поэтому, когда я пытаюсь сделать сумму этих столбцов, я не получаю нулевое значение, но я получу числовое значение.
Как может мы достигаем этого в pyspark
2 ответов
можно использовать df.na.fill
для замены нулей нулями, например:
>>> 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|
+---+
вы можете использовать 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|
+---+