![](/img/trans.png)
[英]Can I use lambda, map, apply, or applymap to fill a dataframe?
[英]How to use applymap, lambda and dataframe together to filter / modify dataframe in python?
您可以使用fillna
而不是使用apply
。
df.fillna('o')
有关使用缺失数据的更多信息。 你也可以在@Psidom的答案中使用apply
with pd.isnull()
作为mentaioned。 但在这种情况下,你应该真正使用内置函数fillna
。
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
转换为boolean:
bool(np.nan)
# True
所以它总是返回真值,因此数据帧中的所有值都将被o
替换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.