【发布时间】:2021-09-07 18:49:15
【问题描述】:
我有一个 int 数据框:
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
但是,如果我将值设置为 NaN,则整个列都会转换为浮点数!显然 int 列不能有 NaN 值。但这是为什么呢?
>>> df.iloc[2,1] = np.nan
>>> df
0 1 2
0 0 1.0 2
1 3 4.0 5
2 6 NaN 8
3 9 10.0 11
【问题讨论】:
-
检查
type(df.iloc[2,1])的输出,看看why-is-nan-considered-as-a-float -
@AnuragDabas 是对的,
NaN是一个浮点数。您可以尝试pd.NA替换 nan 值。
标签: python-3.x pandas dataframe nan