Преобразуйте числовые строки с запятыми у панд DataFrame для плавания

У меня есть 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 плаваний?

57
задан 9 August 2018 в 19:54

1 ответ

Можно преобразовать один столбец в такое время:

df['colname'] = df['colname'].str.replace(',', '').astype(float)
4
ответ дан 1 November 2019 в 16:08

Другие вопросы по тегам:

Похожие вопросы: