Как вы исправляете «не удалось преобразовать строку в float» в Python?

#python #jupyter-notebook

#python #jupyter-notebook

Вопрос:

Для упрощения у меня есть два столбца в dataframe, df, в Python Jupyter Notebook:

 Column            Non-Null Count  Dtype  

Cash              57 non-null     object 
FX Rate           57 non-null     float64
 

Я попытался преобразовать столбец ‘Cash’ в float, поскольку это может быть строка. Затем я хочу создать новый столбец, который представляет собой простое умножение двух столбцов, например:

 df["GBP Market Value"] = df["Cash"] * df["FX Rate"]
 

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

Ошибка типа: невозможно умножить последовательность на не-int типа ‘float’

df был создан pandas read_csv. Если я открою данные в Excel, я смогу выполнить умножение столбцов, поэтому я думаю, даже если базовые данные в этом столбце «Cash» представляют собой строку, как можно отформатировать столбец для выполнения вычислений в Python. Спасибо

Ответ №1:

df[«Cash»] = pd.to_numeric(df[«Cash»],errors = ‘принудительный’)

Сработало