Как использовать вызываемую функцию в Pandas str.replace? - PullRequest
0 голосов
/ 17 октября 2019

У меня есть фрейм данных, для которого для определенного столбца значения будут заменены функцией, поэтому предположим, что таблица выглядит следующим образом:

Att1    Att2     Att3 .....
142+75
90+25
78+10

Теперь я использую функцию для заменызначения следующие:

Att1          Att2     Att3
142+75_142+76
90+25_90+26
78+10_78+11

Я пробовал следующий код:

df['Att1'] = df['Att1'].str.replace(df['Att1'],func(df['Att1']))

Функция работает нормально, как я могу передать это значение как вызываемый в str.replace () так что значение Att1 передается в функцию, а измененное значение возвращается обратно?

1 Ответ

0 голосов
/ 17 октября 2019

вы можете вызвать в функции замены, как показано ниже. Лямбда-функция даст вам групповое совпадение с регулярным выражением. Вы можете заменить печать своей функцией

df = pd.DataFrame([['142+75'], ['90+25'], ['78+10']], columns=['Att1'])

df.Att1.str.replace("(\d+)\+(\d+)", lambda x: print(x[1], x[2]))

## pass whole match
df.Att1.str.replace("(\d+)\+(\d+)", lambda x: print(x[0]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...