numpy.unpackbits
-
numpy.unpackbits(a, axis=None, count=None, bitorder='big') -
Распаковывает элементы массива uint8 в массив с бинарными значениями.
Каждый элемент
aпредставляет собой битовое поле, которое должно быть распаковано в массив с бинарными значениями. Форма выходного массива либо 1-мерная (еслиaxisявляетсяNone), либо такая же, как у входного массива, с распаковкой, выполненной вдоль указанной оси.- Параметры
-
-
andarray, uint8 type -
Входной массив.
-
axisint, optional -
Размерность, по которой выполняется распаковка битов.
Noneподразумевает распаковку уплощенного массива. -
countint or None, optional -
Количество элементов для распаковки вдоль
axis, предоставляемое как способ отмены эффекта упаковки размера, который не является кратным восьми. Положительное число означает распаковать толькоcountбитов. Отрицательное число означает обрезать столько битов с конца.Noneозначает распаковать весь массив (по умолчанию). Значения, большие, чем доступное количество битов, добавят нулевую заливку в выходной массив. Отрицательные значения не должны превышать доступное количество битов.Новое в версии 1.17.0.
-
bitorder{‘big’, ‘little’}, optional -
Порядок возвращаемых битов. ‘big’ будет имитировать bin(val),
3 = 0b00000011 => [0, 0, 0, 0, 0, 0, 1, 1], ‘little’ развернёт порядок до[1, 1, 0, 0, 0, 0, 0, 0]. По умолчанию используется ‘big’.Новое в версии 1.17.0.
-
- Возвращаемое значение
-
-
unpackedndarray, uint8 type -
Элементы имеют двоичные значения (0 или 1).
-
См. также
-
packbits -
Упаковывает элементы массива с двоичными значениями в биты в массив uint8.
Примеры
>>> a = np.array([[2], [7], [23]], dtype=np.uint8) >>> a array([[ 2], [ 7], [23]], dtype=uint8) >>> b = np.unpackbits(a, axis=1) >>> b array([[0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 1, 0, 1, 1, 1]], dtype=uint8) >>> c = np.unpackbits(a, axis=1, count=-3) >>> c array([[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 1, 0]], dtype=uint8)>>> p = np.packbits(b, axis=0) >>> np.unpackbits(p, axis=0) array([[0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], dtype=uint8) >>> np.array_equal(b, np.unpackbits(p, axis=0, count=b.shape[0])) True
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.unpackbits.html