Операция над целым числом доступна в регулярном выражении - PullRequest
0 голосов
/ 06 апреля 2020

Этот вопрос немного длинен. У меня есть один фрейм данных с 2 столбцами. 3-й столбец - это формат вывода, указанный ниже:
Dataframe -

            reg  value       o/p
0     2 for $20     11     20/2
1     4 for $24     12     24/4
2     2 for $30     13     30/2
3  Get $10 Cash     14     14
4     3 for $30     21     30/3

Во-первых, я должен сопоставить [\ d] + для [$] [\ d] + в столбце reg, а затем необходимо обновить столбец значения как 2-е целое число в reg, разделенное на первое целое число в reg, если ни одно совпадение не сохраняет такое же значение.

мой код:

df["value"]=df["reg"].map(lambda x: (int(re.findall("[\d]+",x)[1]))/int(re.findall("[\d]+",x)[0]) if(re.search(r"[\d]+ for [$][\d]+" , x)) else x)

Вывод кода корректен только для случаев совпадения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...