Это зависит от ваших данных.
Если у вас есть ряд типов в вашей серии object
dtype, вы можете просто преобразовать в str
, применить логику замены, а затем использовать pd.to_numeric
.
Обратите внимание, что для замены регулярных выражений и пробелов не обязательно:
s = pd.Series(['23.,5', 35.1, 425, '564', '34.133', '33 ', ' 22'])
s = pd.to_numeric(s.astype(str).str.replace(',', ''), errors='coerce')
print(s)
0 23.500
1 35.100
2 425.000
3 564.000
4 34.133
5 33.000
6 22.000
dtype: float64
Аргумент errors='coerce'
обеспечивает замену неконвертируемых значений на NaN
.
Конечно, если все ваши значения уже являются строками, преобразование в str
не требуется.