Когда я столкнулся с этой проблемой, оказалось, что Xcode не переиндексировал файлы после изменения ветки Git. Решение Delete Derived Data
.
Используя версию Xcode 10.0 File -> Workspace Settings...(or Project Settings...) -> click on the little green circle and manually remove all files in DerivedData folder
Вы ищете замаскированные массивы . Вот пример.
import MA
a = MA.array([1, 2, None], mask = [0, 0, 1])
print "average =", MA.average(a)
К сожалению, маскированные массивы не полностью поддерживаются в numpy, поэтому вам нужно посмотреть вокруг, чтобы увидеть, что с ними можно, а что нельзя.
не использовали numpy, но в стандартном питоне вы можете отфильтровать None
, используя понимание списка
или функция фильтрации
>>> [i for i in [1, 2, None] if i != None]
[1, 2]
>>> filter(lambda x: x != None, [1, 2, None])
[1, 2]
, а затем усреднение результата, чтобы игнорировать Нет
Вы также можете использовать кладж с такими значениями, как NaN или Inf.
In [1]: array([1, 2, None])
Out[1]: array([1, 2, None], dtype=object)
In [2]: array([1, 2, NaN])
Out[2]: array([ 1., 2., NaN])
На самом деле, это может быть даже не кладж. Википедия говорит :
NaN могут использоваться для представления отсутствующих значений в вычислениях.
На самом деле, это не работает для функции mean (), так что не обращайте внимания. :)
In [20]: mean([1, 2, NaN])
Out[20]: nan
Вы также можете использовать фильтр, передать ему None, он будет фильтровать объекты, отличные от True, также 0,: D Так что используйте его, когда вам тоже не нужен 0.
>>> filter(None,[1, 2, None])
[1, 2]