我正在编写一个将浮点数更改为整数的函数。现在,例如,如果值为1.34,则代码返回1.0而不是1。如何解决此问题?
dataframe.iloc[:,i] = dataframe.iloc[:,i].apply(lambda x: int(x) if str(x) != 'nan' else x)
答案 0 :(得分:3)
这是因为NaN
是float
:
>>> type(np.nan)
<class 'float'>
>>>
百万个值中甚至有1个是浮点数,而不是整个值都是浮点数。
因此您可以使用:
df.iloc[:, i] = df.iloc[:, i].astype('Int64')
您可以执行Int64
,Int32
或Int16
。