Numpy: применить маску к значениям, затем принять среднее значение, но параллельноPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Numpy: применить маску к значениям, затем принять среднее значение, но параллельно

Сообщение Anonymous »

У меня есть массив значений размером 1d:

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

v = np.array([0, 1, 4, 0, 5])
Кроме того, у меня есть двумерный массив логических масок (в производстве существуют миллионы масок):

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

m = np.array([
[True, True, False, False, False],
[True, False, True, False, True],
[True, True, True, True, True],
])
Я хочу применить каждую строку маски к массиву v, а затем вычислить среднее значение замаскированных значений.
Ожидаемое поведение:< /p>

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

results = []
for mask in m:
results.append(np.mean(v[mask]))

print(results) # [0.5, 3.0, 2.0]

Легко сделать последовательно, но я уверен, что параллельно есть красивый вариант? Одно решение, которое я нашел:

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

mask = np.ones(m.shape)
mask[~m] = np.nan
np.nanmean(v * mask, axis=1) # [0.5, 3.0, 2.0]

Есть ли другое решение, возможно, с использованием модуля np.ma? Я ищу решение, которое будет быстрее, чем два моих текущих решения.

Подробнее здесь: https://stackoverflow.com/questions/787 ... n-parallel
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В программе... A, B и C. Вам нужно вывести среднее из этих трех чисел. Среднее значение N чисел представляет собой сумму
    Гость » » в форуме JAVA
    0 Ответы
    163 Просмотры
    Последнее сообщение Гость
  • Применить маску к ячейке HandsonTable
    Anonymous » » в форуме Jquery
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Как применить многоугольную маску к видеопотоку в Python с помощью OpenCV?
    Гость » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Гость
  • Как применить многоугольную маску к видеопотоку в Python с помощью OpenCV?
    Гость » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Гость
  • Как применить маску ввода даты с помощью QuestPDF в ASP.NET?
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

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