[英]Replace all values in a list with np.nan
如何用 np.nan 替换列表中的所有值?
a = [1.58, 2.13, 3.98, 4.12]
我想要的是
a = [nan, nan, nan, nan]
我尝试了许多选项,例如replace
或列表理解,但没有奏效。
numpy 的原生方式:
a = np.full(shape=4, fill_value=np.nan).tolist()
可以很好地扩展到更高的尺寸和更大的尺寸。
import numpy as np
a = [1,2,3,4]
a = [np.nan]*len(a)
print(a)
Output:
[nan, nan, nan, nan]
import numpy as np
a = np.full_like(a, np.nan).tolist()
如果你想更新现有的列表a
那么你可以这样做:
a[:] = [np.nan] * len(a)
甚至更有效 - 使用生成器,而不是仅仅为分配构造一个新列表:
a[:] = (np.nan for v in a)
但是,如果您不介意扔掉a
并用一个全新的列表替换它,那么您可以这样做:
a = [np.nan] * len(a)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.