numpy.ndarray.byteswap

方法

ndarray.byteswap(inplace=False)

交换数组元素的字节

通过返回一个字节交换数组(可选地就地交换),在低端和高端数据表示之间切换。字节字符串数组不交换。实数和虚数分别交换。

参数
inplace可选的布尔

如果 True ,就地交换字节,默认为 False .

返回
out恩达雷

字节wapped数组。如果 inplaceTrue ,这是对自己的看法。

实例

>>> 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)