Init 1D массив numpy с логической маской и меньшим массивом, содержащим ненулевые значенияPython

Программы на Python
Anonymous
Init 1D массив numpy с логической маской и меньшим массивом, содержащим ненулевые значения

Сообщение Anonymous »

Проблема
У меня есть valid_data (1D np.array с ненулевыми значениями) и маска (логическое значение 1D np.array ), которые не одинакового размера. Маска содержит нужные позиции valid_data в новом создаваемом np.array. Могу ли я легко инициализировать этот новый np.array или мне придется вычислять его значение за значением?
Пример

Код: Выделить всё

>>> mask = np.array([False, True, False, False, False, True, True, False, False, False])
>>> valid_data = np.array([1, 3, 3])
>>>
>>> wanted_result = np.array([0, 1, 0, 0, 0, 3, 3, 0, 0, 0])
>>>
>>> my_try = np.where(mask, valid_data, 0)
Но я не могу использовать np.where с массивами разной формы.
Можно предположить, что количество значений True в маске< /code> соответствует количеству значений в valid_data.


Подробнее здесь: https://stackoverflow.com/questions/790 ... onzero-val

Вернуться в «Python»