Заменить значение столбца определенной строкой - PullRequest
0 голосов
/ 07 июня 2019

У меня есть этот Dataframe: я хочу заменить 1 на df.rule1 и 2 на df.rule2

+---+---------+------+
|SNo|Operation|Points|
+---+---------+------+
|  1|    1 & 2|   100|
|  2|    1 | 2|   200|
|  3|1 | 2 & 3|   350|
+---+---------+------+

Я хочу этот фрейм данных в это:

+---+------------------------------+------+
|SNo|Operation                     |Points|
+---+------------------------------+------+
|1  |df.rule1 & df.rule2           |100   |
|2  |df.rule1 | df.rule2           |200   |
|3  |df.rule1 | df.rule2 & df.rule3|350   |
+---+------------------------------+------+

Ответы [ 2 ]

1 голос
/ 07 июня 2019

Предполагая, что это pyspark DataFrame, мы можем использовать regexp_replace:

from pyspark.sql import functions as F

df.withColumn('Operation', F.regexp_replace('Operation', r'\d', r'df.rule\1'))
1 голос
/ 07 июня 2019

Использование pd.Series.replace с regex=True:

df['Operation'].replace('(\d)', 'df.rule\\1', regex=True)

Вывод:

0               df.rule1 & df.rule2
1               df.rule1 | df.rule2
2    df.rule1 | df.rule2 & df.rule3
Name: Operation, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...