为什么将浮点数更改为整数时会出现浮点数

时间:2019-07-04 04:22:45

标签: python pandas

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

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

1 个答案:

答案 0 :(得分:3)

这是因为NaNfloat

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

百万个值中甚至有1个是浮点数,而不是整个值都是浮点数。

因此您可以使用:

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

您可以执行Int64Int32Int16