Как использовать numpy ни с 'Одним', оценивают в Python?

Когда я столкнулся с этой проблемой, оказалось, что 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

enter image description here

23
задан Alex Riley 3 May 2015 в 20:25
поделиться

4 ответа

Вы ищете замаскированные массивы . Вот пример.

import MA
a = MA.array([1, 2, None], mask = [0, 0, 1])
print "average =", MA.average(a)

К сожалению, маскированные массивы не полностью поддерживаются в numpy, поэтому вам нужно посмотреть вокруг, чтобы увидеть, что с ними можно, а что нельзя.

11
ответ дан 29 November 2019 в 02:48
поделиться

не использовали numpy, но в стандартном питоне вы можете отфильтровать None , используя понимание списка или функция фильтрации

>>> [i for i in [1, 2, None] if i != None]
[1, 2]
>>> filter(lambda x: x != None, [1, 2, None])
[1, 2]

, а затем усреднение результата, чтобы игнорировать Нет

4
ответ дан 29 November 2019 в 02:48
поделиться

Вы также можете использовать кладж с такими значениями, как 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
3
ответ дан 29 November 2019 в 02:48
поделиться

Вы также можете использовать фильтр, передать ему None, он будет фильтровать объекты, отличные от True, также 0,: D Так что используйте его, когда вам тоже не нужен 0.

>>> filter(None,[1, 2, None])
[1, 2]
2
ответ дан 29 November 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: