我有几个元素的RA
和DEC
和z
。它们表示元素的x,y,z位置。根据条件选择一些元素
它们是存储在数组中的值。
该max(z) = 3.0
,它是第三维我没有在这里显示。
我想什么做的是,除去根据特定的条件下面图片中的箱子里面的那些元素,给我的盒子之外的元素(带也z<1.0
)
所以从画面中的例子,我需要黑盒以外的所有这些元素与第三个条件沿着z<1.0
什么我都试过,是不工作如下:
data_z = contains all the z values
data_RA = contains all the RA values
data_DEC = contains all the DEC values
ra_lim = np.array([[40.0,43.0],[43.0,46.0],[46.0,50.0]])
dec_lim = np.array([[4.0,8.0],[0.0,4.0],[-2.0,0.0]])
new_z = data_z[(data_z<1.0) * ~(data_ra>ra_lim[0][0]) * ~(data_ra<ra_lim[0][1])
* ~(data_dec>dec_lim[0][0]) * ~(data_dec<dec_lim[0][1])]
new_RA = data_RA[(data_z<1.0) * ~(data_ra>ra_lim[0][0]) * ~(data_ra<ra_lim[0][1])
* ~(data_dec>dec_lim[0][0]) * ~(data_dec<dec_lim[0][1])]
new_DEC = data_DEC[(data_z<1.0) * ~(data_ra>ra_lim[0][0]) * ~(data_ra<ra_lim[0][1])
* ~(data_dec>dec_lim[0][0]) * ~(data_dec<dec_lim[0][1])]
所以基本上
~(data_ra>ra_lim[0][0]) * ~(data_ra<ra_lim[0][1])
* ~(data_dec>dec_lim[0][0]) * ~(data_dec<dec_lim[0][1])]
应该表示框和~
标志应该给我逆条件。即排除此框中的值并将剩余值返回给我。
但这似乎并不奏效。 如何获得箱子外的数值还有第三个条件z<1.0
???
什么是RA,DEC和z的形状? –
@JulienSpronck它们都是一维的,等于'len(RA)== len(DEC)== len(z)= 35000' – ThePredator
为什么用逆运算符选择,不要反转比较运算符?因此,不要使用'〜(data_ra = ra_lim [0] [1])' –
physicalattraction