Answer a question

I'm trying to convert a few float columns to int in a DF but I'm getting above error. I've tried both to convert it as well as to fillna to 0(which I prefer not to do, as in my dataset the NA is required).

What am I doing wrong? I've tried both:

orginalData[NumericColumns] = orginalData[NumericColumns].astype('Int64')
#orginalData[NumericColumns] = orginalData[NumericColumns].fillna(0).astype('Int64')

but it keeps resulting in the same error

TypeError: cannot safely cast non-equivalent float64 to int64

What can I do to convert the columns?

Answers

import numpy as np
orginalData[NumericColumns] = orginalData[NumericColumns].fillna(0).astype(np.int64, errors='ignore')

For NaNs you need to replace the NaNs with 0, then do the type casting

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐