DataFrame Pandas ошибка при смене типа данных

col_one_list = movies_converted['US Gross'].to_list()
col_one_list_edited = [i.replace('"','') for i in col_one_list]
col_one_list_edited_1 = [x.replace('Unknown','') for x in col_one_list_edited]
mapped_us_gross = map(float, col_one_list_edited_1)
listed_map_usgross = list(mapped_us_gross)

У меня есть таблица с колонкой в которой даны цифры в формате стринг заключенные в дополнительных кавычках типа '"123456"'. Мне надо сменить тип данных в данном столбце на float64.

Но есть одно но - в столбце также содержатся элементы вида '"Unknown"', которые я должен преобразовать чтобы благополучно сменить тип данных данной колонки на float64.


Ответы (1 шт):

Автор решения: strawdog
import pandas as pd

df = pd.DataFrame({'a':[1,2,3,4,5], 'b':["123", "321", "111", "Unknown", "333"]})

Исходный датафрейм:

   a        b
0  1      123
1  2      321
2  3      111
3  4  Unknown
4  5      333
-------
a     int64
b    object
dtype: object

Преобразовываем:

df['b'] = pd.to_numeric(df['b'], errors='coerce')

Результат:

   a      b
0  1  123.0
1  2  321.0
2  3  111.0
3  4    NaN
4  5  333.0
-------
a      int64
b    float64
dtype: object
→ Ссылка