У меня есть DataFrame, который содержит числа как строки с запятыми для тысяч маркера. Я должен преобразовать их в плавания.
a = [['1,200', '4,200'], ['7,000', '-0.03'], [ '5', '0']]
df=pandas.DataFrame(a)
Я предполагаю, что должен использовать locale.atof. Действительно
df[0].apply(locale.atof)
работы как ожидалось. Я получаю Ряд плаваний.
Но когда я применяю его к DataFrame, я получаю ошибку.
df.apply(locale.atof)
TypeError: ("не может преобразовать ряд в", u'occurred в индексе 0'),
и
df[0:1].apply(locale.atof)
дает другую ошибку:
ValueError: ('недопустимый литерал для плавания (): 1,200', u'occurred в индексе 0')
Так, как я преобразовываю это DataFrame
из строк к DataFrame плаваний?
Можно преобразовать один столбец в такое время:
df['colname'] = df['colname'].str.replace(',', '').astype(float)