【发布时间】:2021-12-13 08:00:11
【问题描述】:
delta_list = ['2','3','4',nan]
lb = ['1','2','3','4']
ub = ['5','6','7','8']
条件:
flag_1 = [np.where((np.array(delta_list) > np.array(lb)) & (np.array(delta_list) < np.array(ub)),0,1)]
这里:如果将 nan 与任何值进行比较,则它是 returning 1(很明显),但我希望它就像 delta_list 中的 comparison is with nan 一样,它应该始终是 return nan 而不是 flag_1 condition。
我如何实现这一目标?
我应该创建一个新列表并将索引与 delta_list 进行比较并用 nan 替换该索引值吗?
请帮忙!!
预期输出:flag_1 = ['1','1','1','1']
所需输出:flag_1 =['1','1','1',nan]
nan 因为delta_list 4th element is nan 所以
[np.where((np.array(delta_list) > np.array(lb)) & (np.array(delta_list) < np.array(ub)),0,1)]
如果在 delta_list 中遇到 nan,则根本不应该进行评估,它应该在我的 flag_1 列表中简单地 return nan
【问题讨论】:
-
你能提供一个你预期输出的例子吗?你的解释对我来说没有意义。
-
嘿,我刚刚添加了。你能查一下吗?
-
minimal reproducible example - 这只会给我一个关于 nan 的 NameError。你想达到什么目的?与其在文本中解释 - 显示输入,不如显示所需的输出并解释单个值为什么这个输出应该是它的输出。 jeszrale 似乎已经得到了你想要的东西 - 但我根本没有
-
谢谢,我做到了。你现在可以检查吗?