np.nan
并不会真正返回您期望的值,为了创建有效的谓词,您可以使用pd.isnull
:
df = pd.DataFrame(index=range(0,3),columns=range(0,3))
df[1][2] = 'a'
f = lambda x: 'o' if pd.isnull(x) else x
df.applymap(f)
# 0 1 2
#0 o o o
#1 o o o
#2 o a o
要了解为什么会发生这种情况,可以将其转换np.nan
为布尔值:
bool(np.nan)
# True
因此它总是返回真值,因此数据帧中的所有值都将替换为o
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句