Не удалось преобразовать строку в float: ‘Neudorf’

#python #databricks

#python #databricks

Вопрос:

У меня есть dataframe df, который содержит столбец с плавающей запятой num. Похоже, что нет 0.00 … 0.00 0.00 0.00

В фрейме данных num находится в объектном типе данных. Поэтому я пытаюсь преобразовать ее в тип данных с плавающей запятой в databricks Runtime 7. Я использую следующую команду

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

Но я получаю сообщение об ошибке

 could not convert string to float: 'Neudorf'
  

Можете ли вы помочь мне решить проблему?

Комментарии:

1. У вас есть эта строка где-то в том столбце, который вы набираете.

Ответ №1:

Проблема в том, что где-то в df у вас есть нечисловой элемент, в частности элемент со значением «Neudorf», где должно быть число. Итак, вы можете сделать это:

 import pandas as pd
df['num'] = pd.to_numeric(df['num'], errors='coerce')
  

Для получения дополнительной информации и прекрасного руководства по этому вопросу, взгляните на это:
https://datatofish.com/convert-string-to-float-dataframe/

Также проверьте, какие другие варианты существуют для ошибок, кроме принудительного:

Документация для to_numeric():
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_numeric.html