numpy.packbits#
- numpy.packbits(a, /, ось=None, bitorder='big')#
Упаковывает элементы двоичного массива в биты массива uint8.
Результат дополняется до полных байтов путем вставки нулевых битов в конце.
- Параметры:
- aarray_like
Массив целых чисел или булевых значений, элементы которого должны быть упакованы в биты.
- осьint, необязательный
Измерение, по которому выполняется упаковка битов.
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’.
- Возвращает:
- упакованныйndarray
Массив типа uint8, элементы которого представляют биты, соответствующие логическому значению (0 или ненулевому) входных элементов. Форма упакованный имеет то же количество измерений, что и входные данные (если только ось равно None, в этом случае выходные данные являются одномерными).
Смотрите также
unpackbitsРаспаковывает элементы массива uint8 в выходной массив с двоичными значениями.
Примеры
>>> import numpy as np >>> 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.