首页 > 解决方案 > 为什么当我将其更改为整数时会浮动

问题描述

我正在编写一个从浮点数更改为整数的函数。现在,例如,如果值为 1.34,则代码​​返回 1.0 而不是 1。如何解决这个问题?

dataframe.iloc[:,i] = dataframe.iloc[:,i].apply(lambda x: int(x) if str(x) != 'nan' else x)

标签: pythonpandas

解决方案


这是因为NaN是一个float

>>> type(np.nan)
<class 'float'>
>>> 

甚至百万分之一的值都是浮点数,而不是整个值都是浮点数。

所以你可以使用:

df.iloc[:, i] = df.iloc[:, i].astype('Int64')

你可以这样做Int64Int32Int16


推荐阅读