【发布时间】:2018-05-06 12:13:21
【问题描述】:
可以说我有以下pandas 987654323 @:
import pandas as pd
df = pd.DataFrame({"A":[1,pd.np.nan,2], "B":[5,6,0]})
看起来其中相同:
>>> df
A B
0 1.0 5
1 NaN 6
2 2.0 0
第一种选择 H2>
我知道,以检查是否一个特定的值是@ 987654326单程@,这是如下:
>>> df.isnull().ix[1,0]
True
第二个选项(不工作) H2>
我想下面的选项,使用ix,将工作为好,但它不是: P>
>>> df.ix[1,0]==pd.np.nan
False
我也尝试iloc用相同的结果:
>>> df.iloc[1,0]==pd.np.nan
False
然而,如果我检查用于使用那些值ix或iloc我得到:
>>> df.ix[1,0]
nan
>>> df.iloc[1,0]
nan
因此,为什么是第二个选项不工作? STRONG>是否可以检查NaN使用值ix或iloc? P>
【问题讨论】:
-
解释:尝试:
pd.np.nan == pd.np.nan)跨度> -
这给了
False!这是为什么呢? -
这里说的“非数字”的性质。正因为如此,我们有
pd.isnull(),pd.notnull(),IS (NOT) NULL在SQL等 SPAN> -
@艾汉,你怎么想? - 我们应该关闭它作为一种欺骗 SPAN>
标签: python pandas dataframe nan