gpt4 book ai didi

python - 对数组中所有小于当前值的值求和

转载 作者:太空宇宙 更新时间:2023-11-03 20:28:11 25 4
gpt4 key购买 nike

寻找一种无需循环的方法来获取同一区间内小于当前值但也在定义区间内的所有值。

我有 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

编辑:修复了最小示例

最佳答案

可以使用 bool 掩码吗?

import numpy as np

x = np.array([[250,1,1],[300,.5,1],[100,2,1],[200,.75,1],[150,.25,1],[50,.5,2]])

mask = (x[:, 1] < x[:, 0]) & (x[:, 2] == np.floor_divide(x[:, 0], 100))
np.sum(x[mask, 0])

关于python - 对数组中所有小于当前值的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57681354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com