Spec-Zone.ru › NumPy 2.0

numpy.unpackbits

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

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

Каждый элемент a представляет собой битовое поле, которое должно быть распаковано в массив с бинарными значениями. Форма выходного массива — либо 1-D (если axis является None) или такая же, как у входного массива, с распаковкой по указанной оси.

Параметры:
andarray, тип uint8

Входной массив.

axisint, необязательно

Измерение, по которому выполняется распаковка битов. None подразумевает распаковку уплощенного массива.

countint или None, необязательно

Число элементов для распаковки по axis, предоставленное как способ отмены эффекта упаковки размера, который не является кратным восьми. Положительное число означает распаковку только count бит. Отрицательное число означает обрезку указанного количества бит с конца. None означает распаковку всего массива (по умолчанию). Значения count, превышающие доступное число бит, добавлены нулевые заполнители в выходной массив. Отрицательные значения count не должны превышать доступное число бит.

Введено в версии 1.17.0.

bitorder{‘big’, ‘little’}, необязательно

Порядок возвращаемых битов. ‘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

Элементы имеют бинарные значения (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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.unpackbits.html

Spec-Zone.ru

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