gpt4 book ai didi

python - 保留满足两个或多个条件的 numpy 数组的值

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

我想保留满足两个或多个条件的数组的值,例如:

a = np.array([1,3,5,6,4,6,7,8,9])

我只想保留大于 3 且小于 7 的值,我想要的输出是:

array([5, 6, 4, 6])

我看到了一种方法:

a = a[(a > 3) * (a < 7)]  

但是关于这种乘法的某些东西感觉是多余的,而且我认为我缺少用于此类东西的内置方法。

最佳答案

纯属娱乐:我更正了它以反射(reflect) numpy 数组的使用。

import timeit
import numpy as np
a =np.array([1,3,5,6,4,6,7,8,9])
t1= timeit.Timer('a[(a > 3) * (a < 7)]', 'from __main__ import a' )
t2= timeit.Timer('a[(a > 3) & (a < 7)]','from __main__ import a')
t3 =timeit.Timer('[e for e in a if e < 7 and e > 3]','from __main__ import a')


print t1.timeit(1000)/1000
print t2.timeit(1000)/1000
print t3.timeit(1000)/1000


>>>
1.01280212402e-05
1.23770236969e-05
1.51431560516e-05

第二次运行

1.06210708618e-05
1.16641521454e-05
1.76239013672e-05

关于python - 保留满足两个或多个条件的 numpy 数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16310574/

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