转换为 int 的正确方法

执行以下操作的正确方法是什么:

df['file_size'] = np.where(df['file_size'], int(df['file_size']), None)

目前我得到的错误是:

类型错误:无法将系列转换为 <class 'int'>

当尝试直接这样做时:

df['file_size'] = df['file_size'].astype(int)

ValueError:无法将非有限值(NA 或 inf)转换为整数


吃鸡游戏
浏览 87回答 1
1回答

莫回无

使用是integer_na因为默认情况下至少有一个缺失值将整数转换为浮点数(因为NaN是float),因此需要特殊类型Int64来解决此问题:df = pd.DataFrame({'file_size':[5,4,np.nan,None]})df['file_size'] = df['file_size'].astype("Int64")print (df)   file_size0          51          42       <NA>3       <NA>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python