当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy recarray.byteswap用法及代码示例


本文简要介绍 python 语言中 numpy.recarray.byteswap 的用法。

用法:

recarray.byteswap(inplace=False)

交换数组元素的字节

通过返回字节交换数组(可选地就地交换)在低端和大端数据表示之间切换。 byte-strings 的数组不会被交换。复数的实部和虚部分别交换。

参数

inplace 布尔型,可选

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

返回

out ndarray

字节交换数组。如果到位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']

byte-strings 的数组未交换

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

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.recarray.byteswap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。