我遇到了一个不明白的问题,我不明白为什么NaN值可以出现在第二个结果中。
>>> Y.isnull().values.any()
False
>>> Y.where(Y == 0).isnull().values.any()
True
我不明白为什么NaN值可以出现在第二个结果中.Y有一个dtype = int64
有什么办法吗?非常感谢您
查看以下行为 pandas.DataFrame.where
:https:/pandas.pydata.orgpandas-docsstablereferenceapipandas.DataFrame.where.html。
它将不符合条件的值用某物代替。默认情况下,这个东西不是布尔值,而是 1
和 nan
. 这意味着通过做 Y.where(Y == 0)
你正在创造 nan
的值,而不是所有非0的值。nan
第二行中的数值。