【发布时间】:2019-08-27 19:49:27
【问题描述】:
寻找一种不循环的方法来获取同一区间内小于当前值但也在定义区间内的所有值。
我有 8760 行数据要排序,并希望有比循环更短的方法。使用一些循环代码,执行需要 5 分钟以上
x=np.array([[250,1,1],[300,.5,1],[100,2,1],[200,.75,1],[150,.25,1],[50,.5,2]])
我正在尝试对第一个元素 (250,300,100,50) 求和,其中第二个元素小于当前值,第三个元素等于当前值的第三个元素。
例子
对于
[250,1,1]
我只想找到300+200+150,因为它们将1 作为第三个元素,而.5 和.75 和.25 的第二个元素小于1。这需要对每一行继续
对于第二个元素[300,.5,1],它会找到150 的值,因为这是唯一具有更大索引的元素,1 作为第三个元素并且其值小于.5。
编辑:固定最小示例
【问题讨论】:
-
总和是否应该排除
x[:,0]中的当前值?你的例子对我来说并不完全清楚。我认为它与上面给出的描述不符。一般注意事项:也许这个问题更适合 CodeReview? -
它不应包含当前值。