Spec-Zone.ru › NumPy 2.0

numpy.packbits

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

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

Результат дополняется до полных байтов путём вставки нулевых битов в конце.

Параметры:
aarray_like

Массив целых чисел или булевых значений, элементы которого должны быть упакованы в биты.

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

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

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

Порядок входных битов. ‘big’ будет имитировать bin(val), [0, 0, 0, 0, 0, 0, 1, 1] => 3 = 0b00000011, ‘little’ перевернёт порядок, так что [1, 1, 0, 0, 0, 0, 0, 0] => 3. По умолчанию — ‘big’.

Доступно начиная с версии 1.17.0.

Возвращает:
packedndarray

Массив типа uint8, элементы которого представляют биты, соответствующие логическому (0 или ненулевому) значению элементов входного массива. Форма packed имеет такое же количество измерений, как и входной массив (если axis равно None, на выходе получается одномерный массив).

См. также

unpackbits

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

Примеры

>>> a = np.array([[[1,0,1],
...                [0,1,0]],
...               [[1,1,0],
...                [0,0,1]]])
>>> b = np.packbits(a, axis=-1)
>>> b
array([[[160],
        [ 64]],
       [[192],
        [ 32]]], dtype=uint8)

Обратите внимание, что в двоичной системе 160 = 1010 0000, 64 = 0100 0000, 192 = 1100 0000, и 32 = 0010 0000.

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.packbits.html

Spec-Zone.ru

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