#python #apache-spark #pyspark #apache-spark-sql
#python #apache-spark #pyspark #apache-spark-sql
Вопрос:
Это моя таблица: Lat_Long
Я хочу сохранить только ту информацию, которая отмечена.
Таким образом, таблица должна выглядеть следующим образом
Как добиться этого с помощью pyspark sql с использованием python, а тип данных столбца — в строковом формате.
Ответ №1:
Вы можете использовать функцию regexp_extract
и регулярное выражение (S )$
, чтобы получить последнее число. Например:
--------- ---------
| col1| col2|
--------- ---------
|100 -20.0|300 -40.0|
|100 -20.0|300 -40.0|
--------- ---------
df.select(*[F.regexp_extract(col, r'(S )
Вывод:
----- -----
| col1| col2|
----- -----
|-20.0|-40.0|
|-20.0|-40.0|
----- -----
Ответ №2:
Вы можете использовать split
для разделения на пробелы. Используйте регулярное s
выражение для разделения на любое количество пробелов.
import pyspark.sql.functions as F
result = df.select(*[F.split(i, r's ')[1].alias(i) for i in df.columns])
, 1).alias(col) for col in df.columns]).show()
Вывод:
Ответ №2:
Вы можете использовать split
для разделения на пробелы. Используйте регулярное s
выражение для разделения на любое количество пробелов.