numpy.matrix.byteswap
метод
- matrix.byteswap(inplace=False)
-
Меняет байты элементов массива
Переключает представление данных в формате little-endian и big-endian, возвращая массив с переставленными байтами, необязательно на месте. Массивы байтовых строк не меняются. Вещественная и мнимая части комплексного числа меняются индивидуально.
- Параметры
-
- inplacebool, необязательно
-
Если
True, меняет байты на месте, по умолчаниюFalse.
- Возвращает
-
- outndarray
-
Массив с переставленными байтами. Если
inplaceявляетсяTrue, это представление самого массива.
Примеры
>>> 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.newbyteorder().byteswap()создаёт массив с теми же значениями -
но с другим представлением в памяти
>>> A = np.array([1, 2, 3]) >>> 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.newbyteorder().byteswap(inplace=True) array([1, 2, 3]) >>> 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)
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.matrix.byteswap.html