我正在寻找一种pythonic(单线)方法来从数组中提取一系列值 下面是一些示例代码,它们将从x,y数据中提取>;2和<;8数组元素,并将它们放入一个新数组中。有没有办法在一条线上完成这个任务?下面的代码工作,但似乎比它需要更笨拙。(请注意,我实际上正在处理应用程序中的浮动)
import numpy as np
x0 = np.array([0,3,9,8,3,4,5])
y0 = np.array([2,3,5,7,8,1,0])
x1 = x0[x0>2]
y1 = y0[x0>2]
x2 = x1[x1<8]
y2 = y1[x1<8]
print x2, y2
这个指纹
[3 3 4 5] [3 8 1 0]
问题的(b)部分是提取值,比如1 < x < 3
和7 < x < 9
,以及它们对应的y
值。
您可以使用
&
将布尔数组链接在一起,分别使用logical and
和|
将布尔数组链接在一起,这样条件2 < x0
和x0 < 8
就变为例如
相关问题 更多 >
编程相关推荐