【发布时间】:2017-08-05 21:50:36
【问题描述】:
假设您有以下列表:
import numpy as np
mylist=[8.4468975,
8.52036,
9.3605785,
np.ma.core.MaskedConstant(),
np.ma.core.MaskedConstant()]
# [8.4468975, 8.52036, 9.3605785, masked, masked]
并且您想将0 分配给所有masked 的值,并将1 分配给所有其他值。如何正确地做到这一点?
我试过这个,但结果是一个空列表:
mylist=[1 for i,v in enumerate(mylist) if type(mylist[i]) is float]
结果应该是数字(无真/假):
mylist=[1,1,1,0,0]
编辑
我原始列表中的masked 值属于numpy.ma.core.MaskedConstant 类型。
【问题讨论】: