Spec-Zone.ru › NumPy 1.21

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API