numpy.unpackbits
-
numpy.unpackbits(a, axis=None, count=None, bitorder='big') -
Распаковывает элементы массива uint8 в массив с двоичными значениями.
Каждый элемент
aпредставляет собой битовое поле, которое должно быть распаковано в массив с двоичными значениями. Форма выходного массива является либо одномерной (еслиaxisравноNone) или такой же, как и у входного массива, с распаковкой, выполненной вдоль указанной оси.- Параметры
-
-
andarray, uint8 type -
Входной массив.
-
axisint, optional -
Измерение, по которому выполняется распаковка битов.
Noneподразумевает распаковку сплющенного массива. -
countint 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.
-
- Возвращает
-
-
unpackedndarray, 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.unpackbits.html