潘达斯问题,用 "where "法将0转化为NaN。

问题描述 投票:0回答:1

我遇到了一个不明白的问题,我不明白为什么NaN值可以出现在第二个结果中。

>>> Y.isnull().values.any()
False
>>> Y.where(Y == 0).isnull().values.any()
True

我不明白为什么NaN值可以出现在第二个结果中.Y有一个dtype = int64

有什么办法吗?非常感谢您

python pandas int where-clause nan
1个回答
1
投票

查看以下行为 pandas.DataFrame.where:https:/pandas.pydata.orgpandas-docsstablereferenceapipandas.DataFrame.where.html。

它将不符合条件的值用某物代替。默认情况下,这个东西不是布尔值,而是 1nan. 这意味着通过做 Y.where(Y == 0) 你正在创造 nan 的值,而不是所有非0的值。nan 第二行中的数值。

© www.soinside.com 2019 - 2024. All rights reserved.