Create a data type object.
A numpy array is homogeneous, and contains elements described by a dtype object. A dtype object can be constructed from different combinations of fundamental numeric types.
Parameters:Object to be converted to a data type object.
Add padding to the fields to match what a C compiler would output for a similar C-struct. Can be True
only if obj is a dictionary or a comma-separated string. If a struct dtype is being created, this also sets a sticky alignment flag isalignedstruct
.
Make a new copy of the data-type object. If False
, the result may just be a reference to a built-in data-type object.
Examples
Using array-scalar type:
>>> np.dtype(np.int16) dtype('int16')
Structured type, one field name âf1â, containing int16:
>>> np.dtype([('f1', np.int16)]) dtype([('f1', '<i2')])
Structured type, one field named âf1â, in itself containing a structured type with one field:
>>> np.dtype([('f1', [('f1', np.int16)])]) dtype([('f1', [('f1', '<i2')])])
Structured type, two fields: the first field contains an unsigned int, the second an int32:
>>> np.dtype([('f1', np.uint), ('f2', np.int32)]) dtype([('f1', '<u4'), ('f2', '<i4')])
Using array-protocol type strings:
>>> np.dtype([('a','f8'),('b','S10')]) dtype([('a', '<f8'), ('b', '|S10')])
Using comma-separated field formats. The shape is (2,3):
>>> np.dtype("i4, (2,3)f8") dtype([('f0', '<i4'), ('f1', '<f8', (2, 3))])
Using tuples. int
is a fixed type, 3 the fieldâs shape. void
is a flexible type, here of size 10:
>>> np.dtype([('hello',(int,3)),('world',np.void,10)]) dtype([('hello', '<i4', 3), ('world', '|V10')])
Subdivide int16
into 2 int8
âs, called x and y. 0 and 1 are the offsets in bytes:
>>> np.dtype((np.int16, {'x':(np.int8,0), 'y':(np.int8,1)})) dtype(('<i2', [('x', '|i1'), ('y', '|i1')]))
Using dictionaries. Two fields named âgenderâ and âageâ:
>>> np.dtype({'names':['gender','age'], 'formats':['S1',np.uint8]}) dtype([('gender', '|S1'), ('age', '|u1')])
Offsets in bytes, here 0 and 25:
>>> np.dtype({'surname':('S25',0),'age':(np.uint8,25)}) dtype([('surname', '|S25'), ('age', '|u1')])Attributes:
The required alignment (bytes) of this data-type according to the compiler.
More information is available in the C-API section of the manual.
A character indicating the byte-order of this data-type object.
One of:
â=â native â<â little-endian â>â big-endian â|â not applicableAll built-in data-type objects have byteorder either â=â or â|â.
>>> dt = np.dtype('i2') >>> dt.byteorder '=' >>> # endian is not relevant for 8 bit numbers >>> np.dtype('i1').byteorder '|' >>> # or ASCII strings >>> np.dtype('S2').byteorder '|' >>> # Even if specific code is given, and it is native >>> # '=' is the byteorder >>> import sys >>> sys_is_le = sys.byteorder == 'little' >>> native_code = sys_is_le and '<' or '>' >>> swapped_code = sys_is_le and '>' or '<' >>> dt = np.dtype(native_code + 'i2') >>> dt.byteorder '=' >>> # Swapped code shows up as itself >>> dt = np.dtype(swapped_code + 'i2') >>> dt.byteorder == swapped_code True
A unique character code for each of the 21 different built-in types.
descr
PEP3118 interface description of the data-type.
fields
Dictionary of named fields defined for this data type, or None
.
Bit-flags describing how this data type is to be interpreted.
Bit-masks are in numpy.core.multiarray
as the constants ITEM_HASOBJECT, LIST_PICKLE, ITEM_IS_POINTER, NEEDS_INIT, NEEDS_PYAPI, USE_GETITEM, USE_SETITEM. A full explanation of these flags is in C-API documentation; they are largely useful for user-defined data-types.
hasobject
Boolean indicating whether this dtype contains any reference-counted objects in any fields or sub-dtypes.
isalignedstruct
Boolean indicating whether the dtype is a struct which maintains field alignment.
isbuiltin
Integer indicating how this dtype relates to the built-in dtypes.
isnative
Boolean indicating whether the byte order of this dtype is native to the platform.
The element size of this data-type object.
For 18 of the 21 types this number is fixed by the data-type. For the flexible data-types, this number can be anything.
A character code (one of âbiufcmMOSUVâ) identifying the general kind of data.
b boolean i signed integer u unsigned integer f floating-point c complex floating-point m timedelta M datetime O object S (byte-)string U Unicode V voidname
A bit-width name for this data-type.
names
Ordered list of field names, or None
if there are no fields.
ndim
Number of dimensions of the sub-array if this data type describes a sub-array, and 0
otherwise.
A unique number for each of the 21 different built-in types.
These are roughly ordered from least-to-most precision.
shape
Shape tuple of the sub-array if this data type describes a sub-array, and ()
otherwise.
str
The array-protocol typestring of this data-type object.
subdtype
Tuple (item_dtype, shape)
if this dtype
describes a sub-array, and None otherwise.
The type object used to instantiate a scalar of this data-type.
Methods
newbyteorder
([new_order]) Return a new dtype with a different byte order.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4