У меня есть три массива: r_vals, Tgas_vals и n_vals.Все они являются массивами фигуры (9998.).Массивы имеют повторяющиеся значения, и я хочу перебрать уникальные значения r_vals и найти соответствующие значения Tgas_vals и n_vals, чтобы я мог использовать последние два массива для вычисления средневзвешенного значения.Это то, что у меня есть сейчас:
def calc_weighted_average (r_vals,Tgas_vals,n_vals):
for r in r_vals:
mask = r == r_vals
count = 0
count += 1
for t in Tgas_vals[mask]:
print (count, np.average(Tgas_vals[mask]*n_vals[mask]))
weighted_average = calc_weighted_average (r_vals,Tgas_vals,n_vals)
Проблема, с которой я сталкиваюсь, заключается в том, что функция проходит только один раз.Я неправильно реализовал маску или проблема где-то еще в цикле for?