说这个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 '')
但是,当它也可以是datetime / string时,如何检查值是否为nan? np.isnan
将在字符串上失败。 np.isreal(x) and np.isnan(x)
在日期时间也失败了。
答案 0 :(得分:3)
您可以使用pd.isnull()来处理缺失值检查的更多类型:
import pandas as pd
df.style.applymap(lambda x: 'color: red' if pd.isnull(x) else '')
答案 1 :(得分:0)
您还可以使用以下事实:浮点̀NaN`的值为are not equal to themselves:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.Bundle.putString(java.lang.String, java.lang.String)' on a null object reference
at my.edu.fsktm.um.finalproject.Fragment.ReviewFragment$1.onItemClick(ReviewFragment.java:61)
at my.edu.fsktm.um.finalproject.ForumTitle.ForumAdapter$ForumHolder$1.onClick(ForumAdapter.java:56)