Spec-Zone.ru › NumPy 1.21

numpy.unpackbits

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

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

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

Spec-Zone.ru

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