#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