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, на выходе получается 1-мерный массив).
См. также
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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.packbits.html