numpy.matrix.byteswap#
метод
- матрица.обмен байтами(inplace=False)#
Поменять байты элементов массива местами
Переключение между порядком байт от младшего к старшему и от старшего к младшему путём возврата массива с изменённым порядком байт, опционально изменяя порядок на месте. Массивы байтовых строк не изменяются. Действительная и мнимая части комплексного числа изменяются по отдельности.
- Параметры:
- inplacebool, необязательно
Если
True, поменять байты местами на месте, по умолчаниюFalse.
- Возвращает:
- выходndarray
Массив с измененным порядком байтов. Если inplace является
True, это представление self.
Примеры
>>> import numpy as np >>> A = np.array([1, 256, 8755], dtype=np.int16) >>> list(map(hex, A)) ['0x1', '0x100', '0x2233'] >>> A.byteswap(inplace=True) array([ 256, 1, 13090], dtype=int16) >>> list(map(hex, A)) ['0x100', '0x1', '0x3322']
Массивы байтовых строк не меняются местами
>>> A = np.array([b'ceg', b'fac']) >>> A.byteswap() array([b'ceg', b'fac'], dtype='|S3')
A.view(A.dtype.newbyteorder()).byteswap()создаёт массив с теми же значениями, но другим представлением в памяти>>> A = np.array([1, 2, 3],dtype=np.int64) >>> A.view(np.uint8) array([1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], dtype=uint8) >>> A.view(A.dtype.newbyteorder()).byteswap(inplace=True) array([1, 2, 3], dtype='>i8') >>> A.view(np.uint8) array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3], dtype=uint8)