Вы можете использовать регулярные выражения для общих условий, которые будут работать в всех случаях:
# Make example dataframe for showing answer
df = pd.DataFrame({'Value':['3.4500,00 EUR', '88.782,21 DOLLAR']})
Value
0 3.4500,00 EUR
1 88.782,21 DOLLAR
Используйте str.replace
с регулярным выражением:
df['Value'].str.replace('[A-Za-z]', '').str.replace('.', '').str.replace(',', '.').astype(float)
0 34500.00
1 88782.21
Name: Value, dtype: float64
Пояснение:
str.replace('[A-Za-z]', '')
удаляет все буквенные символы
str.replace('.', '')
удаляет точку .
str.replace(',', '.')
заменяет запятую на точку
astype(float)
преобразует его из типа объекта (строки) в число с плавающей точкой