try_to_number()
Описание
Функция try_to_number() безопасно преобразует строку в число. Если преобразование невозможно, возвращает NULL вместо исключения.
Параметры
column: Column - столбец со строковыми значениямиformat: String (опционально) - формат числа
Возвращаемое значение
Column - числовое значение или NULL в случае ошибки
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import try_to_number, col
# Создаем SparkSession
spark = SparkSession.builder.appName("try_to_number_example").getOrCreate()
# Создаем DataFrame со строками
data = [
    ("123",),
    ("123.45",),
    ("1,234.56",),
    ("invalid",),
    (None,)
]
df = spark.createDataFrame(data, ["text"])
# Безопасно преобразуем строки в числа
result = df.select(
    "text",
    try_to_number(col("text")).alias("number"),
    try_to_number(col("text"), "###,##0.00").alias("formatted_number")
).show()
# Результат:
# +----------+------+----------------+
# |      text|number|formatted_number|
# +----------+------+----------------+
# |       123|   123|          123.00|
# |   123.45| 123.45|          123.45|
# |1,234.56|1234.56|         1234.56|
# |   invalid|  NULL|            NULL|
# |      NULL|  NULL|            NULL|
# +----------+------+----------------+
 Примечания
- Функция безопасно обрабатывает некорректные строки
 - Возвращает NULL, если строка не может быть преобразована в число
 - Для обычного преобразования используйте функцию 
cast() - Для других безопасных преобразований используйте 
try_to_binary()