-
dtype.newbyteorder(new_order='S')
-
Return a new dtype with a different byte order.
Changes are also made in all fields and sub-arrays of the data type.
Parameters: new_order : string, optional
Byte order to force; a value from the byte order specifications below. The default value (?S?) results in swapping the current byte order.
new_order
codes can be any of:- ?S? - swap dtype from current to opposite endian
- {?<?, ?L?} - little endian
- {?>?, ?B?} - big endian
- {?=?, ?N?} - native order
- {?|?, ?I?} - ignore (no change to byte order)
The code does a case-insensitive check on the first letter of
new_order
for these alternatives. For example, any of ?>? or ?B? or ?b? or ?brian? are valid to specify big-endian.Returns: new_dtype : dtype
New dtype object with the given change to the byte order.
Notes
Changes are also made in all fields and sub-arrays of the data type.
Examples
1234567891011121314151617181920212223242526>>>
import
sys
>>> sys_is_le
=
sys.byteorder
=
=
'little'
>>> native_code
=
sys_is_le
and
'<'
or
'>'
>>> swapped_code
=
sys_is_le
and
'>'
or
'<'
>>> native_dt
=
np.dtype(native_code
+
'i2'
)
>>> swapped_dt
=
np.dtype(swapped_code
+
'i2'
)
>>> native_dt.newbyteorder(
'S'
)
=
=
swapped_dt
True
>>> native_dt.newbyteorder()
=
=
swapped_dt
True
>>> native_dt
=
=
swapped_dt.newbyteorder(
'S'
)
True
>>> native_dt
=
=
swapped_dt.newbyteorder(
'='
)
True
>>> native_dt
=
=
swapped_dt.newbyteorder(
'N'
)
True
>>> native_dt
=
=
native_dt.newbyteorder(
'|'
)
True
>>> np.dtype(
'<i2'
)
=
=
native_dt.newbyteorder(
'<'
)
True
>>> np.dtype(
'<i2'
)
=
=
native_dt.newbyteorder(
'L'
)
True
>>> np.dtype(
'>i2'
)
=
=
native_dt.newbyteorder(
'>'
)
True
>>> np.dtype(
'>i2'
)
=
=
native_dt.newbyteorder(
'B'
)
True
dtype.newbyteorder()

2025-01-10 15:47:30
Please login to continue.