Проблема связана с тем, что numpy не может применить операцию np.mod
к массивам с заданной формой, одним из решений является изменение формы, например:
import numpy as np
a = np.array([6, 8, 10, 13, 15, 18, 21]).reshape((-1, 1))
b = np.array([2, 5])
print(a[np.mod(a, b).all(1)].reshape(-1))
выход
[13 21]
Обратите внимание, что вам нужно изменить форму назад, чтобы получить запрошенный вывод. Лучшее решение - это предложение, предложенное @PaulPanzer:
import numpy as np
a = np.array([6, 8, 10, 13, 15, 18, 21])
b = np.array([2, 5])
print(a[np.mod.outer(a, b).all(1)])
выход
[13 21]
Далее
- О вещании с номерами см. 1 и 2 .
- Вкл. внешний .