Spec-Zone.ru › NumPy 1.20

numpy.unpackbits

numpy.unpackbits(a, axis=None, count=None, bitorder='big')

Распаковывает элементы массива uint8 в массив с двоичными значениями.

Каждый элемент a представляет собой битовое поле, которое должно быть распаковано в массив с двоичными значениями. Форма выходного массива является либо одномерной (если 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.unpackbits.html

Spec-Zone.ru

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