Я пытаюсь очистить несколько столбцов в пандах.У меня есть следующая функция, чтобы очистить его:
def convert_dash_comma_into_float(num):
if " - " in num:
num = num.replace(" - ", "0.0")
elif "," in num:
num = num.replace(',', '')
try:
return float(num)
except ValueError:
return np.nan
Когда я применяю эту функцию к одному столбцу, она работает.
df["rpks"].apply(convert_dash_comma_into_float)
Но когда я пытаюсь применить к серии столбцов, предоставляя список, потому что у меня есть куча их для очистки, это вызывает TypeError
df[["rpks", 'asks', 'pax']].apply(convert_dash_comma_into_float)
TypeError: ("невозможно преобразовать серию в", "произошло в индексах RPKs First")
Вот некоторые примеры данных, которые в настоящее время находятся в типе объекта как 'O':
rpks asks pax
9.74 194.72 1,752.48
19.47 82.74 700.85
- 360.16 3,679.45
127.03 994.14 7,306.93
53.54 612.75 5,770.53
- 7.02 666.43
34.52 197.28 784.19
- 460.31 5,466.80
- 108.63 1,128.90
- 16.54 913.49
10.52 368.06 3,054.90
93.93 784.55 5,646.55