Мотивация: в списке числовых c значений я пытаюсь найти индекс наименьшего значения - с условием стороны, что значение должно быть ниже определенного порога. Вот пример, где все работает как положено
import numpy as np
a = np.array([1, 5, -4])
threshold = 3
b = np.ma.MaskedArray(a, a >= threshold)
np.ma.argmin(b) # returns 2, since a[2] is -4 which is the smallest element < 3
Вот случай, когда np.ma.argmin
делает что-то неожиданное:
a = np.array([4, 5])
threshold = 3
b = np.ma.MaskedArray(a, a >= threshold)
np.ma.argmin(b) # returns 0, expected a None etc. since there is no element < 3
Почему это так и как я могу заставить его вернуться None
? Примечание: настройка fill_value = None
не помогла.