Spec-Zone.ru › NumPy 1.17

numpy.unpackbits

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

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

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

Параметры:
a : ndarray, uint8 type

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

axis : int, optional

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

count : int 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.

Возвращает:
unpacked : ndarray, 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.unpackbits.html

Spec-Zone.ru

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