2017-01-31 8 views
1

Я использую методы предварительной обработки scikit-learn и случайные методы ансамбля леса в кадре данных Pandas размером 400 000 x 600 (800 МБ). Я получаю эту ошибку значения, когда передаю этот файл данных через алгоритмы, возможно, из-за лишних пробелов где-то в области данных. Как очистить все пробелы от моей фреймворка данных, которые должны содержать только числовые значения и абсолютно никаких строк?Pandas dataframe, ValueError: не удалось преобразовать строку в float:

ответ

0

Вы можете конвертировать фрейм данных в другой формат.

Например фрейм данных:

df = pd.DataFrame({'x': [5,7,9], 'y':[3,1,'2 ']}) 

Имеет дополнительное пространство в последнем значении. Это будет хранить столбец y как объект вместо целочисленного массива. Для его преобразования вы можете использовать:

df = df.astype(int)  # this 
df = df.astype(float) # or this 

Это преобразует весь фрейм данных в данный тип. Другой способ справиться с этим - это когда файл читается (если вы читаете csv или другой формат).