Я использую np.isin () для вычисления перекрытия между двумя значениями ... fe
np.isin(randint(0,10,3), randint(0,10,3)).sum()
проблема в том, что у меня есть случай, когда мне нужно значение NULL ( все нулевые строки были бы хорошим кандидатом):
z = np.array([0, 0, 0], dtype=np.uint16)
np.isin(z,array([0,2,3])).sum()
: 3
, но перекрытие должно быть НОЛЬ, а не 3, потому что НОЛЬ - это реальные данные. В настоящее время я использую NULL-значение 65535, т.е. -1, что мне не очень нравится:
z = np.array([0, 0, 0], dtype=np.uint16) + np.uint16(-1)
np.isin(z, np.array([0,2,3], dtype=np.uint16)).sum()
: 0
Проблема, как вы видите, состоит в том, что значение NULL не может быть ZERO, поскольку ZERO является допустимым значением data ..
Существует ли какой-либо стандартизированный способ обработки данных NIL / NULL в numpy?
Я также должен был упомянуть, что тип должен быть np.uint16
In [137]: zz = np.zeros(5, dtype=np.uint16)
In [138]: zz
Out[138]: array([0, 0, 0, 0, 0], dtype=uint16)
In [139]: zz[:] = np.nan
In [140]: zz
Out[140]: array([0, 0, 0, 0, 0], dtype=uint16)