Как заменить ведущий 0 на 91 с помощью регулярных выражений в фрейме данных pyspark - PullRequest
0 голосов
/ 19 мая 2019

В Python я делаю это, чтобы заменить ведущий 0 в столбце телефона на 91. Но как это сделать в pyspark.

con датафрейм:

id phone1
1   088976854667
2   089706790002

Outptut, я хочу это

1   9188976854667
2   9189706790002
# Replace leading Zeros in a phone number with 91

con.filter(regex='[_]').replace('^0','385',regex=True)

1 Ответ

2 голосов
/ 19 мая 2019

Вы ищете функцию regexp_replace . Эта функция принимает 3 параметра:

  1. имя столбца
  2. рисунок
  3. repleacement
from pyspark.sql import functions as F
columns = ['id', 'phone1']
vals = [(1, '088976854667'),(2, '089706790002' )]


df = spark.createDataFrame(vals, columns)
df = df.withColumn('phone1', F.regexp_replace('phone1',"^0", "91"))
df.show()

Выход:

+---+-------------+ 
| id|       phone1| 
+---+-------------+ 
|  1|9188976854667| 
|  2|9189706790002| 
+---+-------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...