NumPy参考 >数组对象 >Masked arrays >Constants of the numpy.ma module > numpy.ma.MaskedArray.byteswap
方法
MaskedArray.
byteswap
(inplace = False )¶交换数组元素的字节
通过返回字节包装的数组(可选地就地交换),在低端和大端数据表示之间切换。字节字符串数组不交换。复数的实部和虚部分别交换。
如果True
,就地交换字节,则默认值为False
。
字节数组。如果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)