#python #pyspark
#python #pyspark
Вопрос:
Я хотел спросить, можно ли добавить «» (двойные кавычки) вместо null во фрейм данных с использованием pyspark
employee_id employee_name salary
123 abc null
Вместо
employee_id employee_name salary
123 abc ""
Я попробовал fillna({‘зарплата’: «}).
O / P, который я получаю, равен
employee_id employee_name salary
123 abc
Не могли бы кто-нибудь, пожалуйста, помочь мне с этим?
Ответ №1:
Это нормально, что вы делаете. Он заменяет нулевые значения пустыми строками. Вам не нужны эти кавычки.
Однако, если вы хотите, чтобы двойные кавычки были частью данных, просто добавьте их следующим образом :
df.na.fill({'salary': '""'})
Полный пример:
df = spark.createDataFrame([(123, "abc", None)], "employee_id int, employee_name string, salary string")
df.show()
# ----------- ------------- ------
#|employee_id|employee_name|salary|
# ----------- ------------- ------
#| 123| abc| null|
# ----------- ------------- ------
df = df.na.fill({'salary': '""'})
df.show()
# ----------- ------------- ------
#|employee_id|employee_name|salary|
# ----------- ------------- ------
#| 123| abc| ""|
# ----------- ------------- ------
Комментарии:
1. Попробовал это. Но он также дает тот же O / P, что и выше
2. @Mahima Это дает ожидаемый результат. Добавлен рабочий пример в ответ. Можете ли вы показать пример, для которого он не работает?