@Ra1n98

Как преобразовать столбец Pandas содержащий значения NaN во float64?

После считывания из csv столбец имеет тип object.
df=pd.read_csv('game2.csv')
df.info()

12 User_Score 10015 non-null object
Пытаюсь преобразовать используя:
df['User_Score'] = df.User_Score.astype('float64')
Появляется ошибка:
ValueError: could not convert string to float: 'tbd'
Если убрать строки с NaN все работает нормально.
  • Вопрос задан
  • 1501 просмотр
Решения вопроса 1
@zexer
df['User_Score'] = pd.to_numeric(df['User_Score'], errors='coerce')

Чтобы понять что такое errors='coerce' предлагаю ознакомиться с данной функций.
Есть еще вариант приведения к правильным типам во время чтения файла, через converters.
converters= {
    'User_Score': lambda x: pd.to_numeric(x, 'coerce')
}
df = pd.read_csv('game2.csv', converters=converters)

Советую также почитать про converters, с помощью него можно обрабатывать все входящие столбцы в зависимости от того, что вам требуется сделать с ними.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы