Я пытался что-то придумать, и надеюсь, что кто-нибудь, имеющий некоторый опыт работы с пакетом, сможет мне помочь.У меня есть двумерный массив цен и сопровождающий массив, который говорит мне, следует ли мне использовать эти цены:
prices = np.random.rand(12,4)
use_prices = np.array([[False, False, False, True, True, False, True, True, True, False, False, False],
[False, False, True, True, True, True, False, True, False, False, False, False]])
У меня также есть трехмерный массив холдингов, для которых эти ценыприменять.Они представляют собой авуары, которые применяются для каждой из действительных цен (т. Е. Истинных в use_prices):
holdings = np.array([[[1,0,1,0]],[[0,1,0,1]]])
holdings
array([[[1, 0, 1, 0]],
[[0, 1, 0, 1]]])
и, наконец, у меня есть пустой массив значений, которые в конечном итоге будутсостоят из цен, умноженных на авуары.Это трехмерный массив, потому что есть два набора холдингов, а затем массив цен 12x4.
values_array = np.full((2,12,4), np.nan)
Я хотел бы заполнить массив значений ценами холдингов * длядва набора холдингов, по действующим ценам.В псевдокоде NumPy я представляю, что это будет примерно так:
values_array[use_prices_bool] = (prices * holdings)[use_prices_bool]
Может кто-нибудь сказать мне, есть ли хороший способ сделать это, и если да, то что это?Любая помощь очень ценится.