Spec-Zone.ru › NumPy 1.19

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API