Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 保留满足两个或多个条件的numpy数组的值_Python_Arrays_Numpy - Fatal编程技术网

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

Python 保留满足两个或多个条件的numpy数组的值,python,arrays,numpy,Python,Arrays,Numpy,我希望保留满足两个或多个条件的数组值,例如: 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)] a=a[(a>3)*(a3)和(a

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

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)]  
a=a[(a>3)*(a<7)]
但是关于这个乘法的一些东西感觉是多余的,我想我缺少了一个类似这样的内置方法

只是为了好玩: 我更正了它以反映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

据我所知,没有比这更短的方法了,老实说,这个方法也不是太多余:它精确地表达了你想要的东西,一个从a开始的数组,其中项目小于7,大于3通常你会做
a[(a>3)和(a<7)]
@jamylak,我是新的,我遗漏了一些东西:)。非常感谢。
1.06210708618e-05
1.16641521454e-05
1.76239013672e-05