Я делаю апертурную фотометрию на скоплении звезд, и чтобы облегчить обнаружение фонового сигнала, я хочу смотреть только на звезды дальше, чем n пикселей (n = 16 в моем случае).У меня есть 2 массива, xs и ys, с x- и y-значениями всех координат звезд: используя np. Где я должен найти индексы всех звезд, где расстояние до всех других звезд>> =n
До сих пор мой метод представлял собой цикл for
import numpy as np
# Lists of coordinates w. values between 0 and 2000 for 5000 stars
xs = np.random.rand(5000)*2000
ys = np.random.rand(5000)*2000
# for-loop, wherein the np.where statement in question is situated
n = 16
for i in range(len(xs)):
index = np.where( np.sqrt( pow(xs[i] - xs,2) + pow(ys[i] - ys,2)) >= n)
Из-за скопления звезд довольно близко друг к другу я ожидал серьезного сокращения данных, хотя даже когда пыталсяn = 1000 У меня осталось около 4000 точек данных