numpy.ma.MaskedArray.byteswap
метод
- ma.MaskedArray.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.ma.MaskedArray.byteswap.html