用这个 DataFrame 说
df = pd.DataFrame({'name' : ['A','B'], 'date' : pd.to_datetime(['2000-01-01','2000-01-02']), 'value' : [np.nan, 1]})
date name value
0 2000-01-01 A NaN
1 2000-01-02 B 1.0
如何检查里面是哪个nan
元素df.applymap
?(即,不使用df.isnull
)
问题来自我想使用 pandas html 样式的地方。我们有内置的 nan 突出显示
df.style.highlight_null()
但它改变了背景颜色,而不是我希望“nan”显示为红色。
所以我需要自己做applymap
df.style.applymap(lambda x: 'color: red' if isnan(x) else '')
但是当它也可以是日期时间/字符串时,如何检查一个值是否为 nan?np.isnan
将在字符串上失败。np.isreal(x) and np.isnan(x)
日期时间也失败。