numpy.ndarray.byteswap
метод
-
ndarray.byteswap(inplace=False) -
Меняет байты элементов массива
Переключает представление данных между little-endian и big-endian, возвращая массив с изменённым порядком байтов, необязательно изменяя его на месте. Массивы байтовых строк не меняются. Действительная и мнимая части комплексного числа меняются местами по отдельности.
- Параметры
-
-
inplacebool, optional -
Если
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() produces an array with the same values -
но имеют другое представление в памяти
>>> 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.ndarray.byteswap.html