Средневзвешенное с условием - PullRequest
0 голосов
/ 25 марта 2020

У меня есть вызов API, который возвращает массив с значениями «member_timestamp», «price» и «size». Я ищу помощь в расчете средневзвешенного значения на основе подмножеств различных периодов времени в этом массиве. Я пытался использовать ma.masked_outside с двумя значениями «member_timestamp» в качестве начала и конца подмножества периода времени, но ничего не получилось. Кроме того, я мог бы использовать несколько вызовов API и настраивать параметры таймфрейма для каждого вызова, но я надеюсь, что есть более эффективный способ сделать первый.

##Get Weighted Average Across Full Time Period##
api_data = ##API call specifics##
df = pd.DataFrame(api_data)
weighted_average_all_data = np.average(df['price'], weights=df['size'])
print(weighted_average_all_data)

##Attempt at ma.masked_outside##
new_array = ma.masked_outside(df['participant_timestamp'],15847272000000000000,15847266000000000000)
new_wtd_avg = np.average(new_array['price'], weights=new_array['size'])
print(new_wtd_avg)

IndexError: только целые числа, кусочки (:), многоточие (...), numpy .newaxis (None) и целые или логические массивы являются допустимыми индексами

...