Этот вопрос немного длинен. У меня есть один фрейм данных с 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)
Вывод кода корректен только для случаев совпадения.