这个标题实际上有误导性,但我不知道如何用一句话来描述我的问题。我不关心拐点,但我关心的是值从x>;1至x<;1.
考虑以下数组:
a = np.array([0.683, 0.819, 0.678, 1.189, 1.465, 0.93 , 0.903, 1.321, 1.321, 0.785, 0.875])
# do something... and here's what I want:
np.array([True, False, False, False, False, True, True, False, False, True, True])
规则如下:
True
,它必须小于1(x<;1)李>False
李>如果我的解释不合理,下面是我想做的事情:
数组a
中的十进制值只是比率:当前点/上一点。如何在Python中实现这一点
我输入的代码将按照您的要求执行。不幸的是,它不使用列表理解。 我做的第一件事就是编写一个函数,找到第一个小于零的值和第一个大于零的值的索引
使用此函数,可以将低于零但介于第一个低于零和第一个高于零之间的值设置为false。 这两个索引存储在“false_range”中
一旦你做到了这一点,就很容易了。第一点总是正确的。 如果索引介于“false_range”和零以下,则它们将变为false。 如果点在“假_范围”之外,则其值取决于它们是高于1还是低于1
打印的列表与您提供的列表相对应,但请在使用前测试此解决方案
相关问题 更多 >
编程相关推荐