Изменение типа данных - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь преобразовать столбец объекта в csv в число с плавающей точкой, но постоянно получаю сообщение об ошибке. Если кто-то может направить меня в правильном направлении, это было бы здорово. Ниже приведен код, который я использовал:

df['Price'] = df.Price.astype(float)

df.dtypes

Ошибка:

ValueError: не удалось преобразовать строку в число с плавающей точкой: '13, 000 '

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Поскольку вы говорите о CSV, было бы лучше иметь read_csv для преобразования с read_csv(..., decimal=','). Если по какой-либо причине это невозможно, простой способ - заменить запятые на точки:

df['Price'] = df.Price.str.replace(',','.').astype(float)
0 голосов
/ 15 апреля 2020

Я полагаю, что проблема возникает из-за того, что ваши числа содержат запятую для тысяч. Может быть, это полезно:

import locale
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' ) 
locale.atof(df['Price'])
...