-
class numpy.dtype
[source] -
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: obj
Object to be converted to a data type object.
align : bool, optional
Add padding to the fields to match what a C compiler would output for a similar C-struct. Can be
True
only ifobj
is a dictionary or a comma-separated string. If a struct dtype is being created, this also sets a sticky alignment flagisalignedstruct
.copy : bool, optional
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.See also
Examples
Using array-scalar type:
12>>> np.dtype(np.int16)
dtype(
'int16'
)
Structured type, one field name ?f1?, containing int16:
12>>> np.dtype([(
'f1'
, np.int16)])
dtype([(
'f1'
,
'<i2'
)])
Structured type, one field named ?f1?, in itself containing a structured type with one field:
12>>> 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:
12>>> np.dtype([(
'f1'
, np.uint), (
'f2'
, np.int32)])
dtype([(
'f1'
,
'<u4'
), (
'f2'
,
'<i4'
)])
Using array-protocol type strings:
12>>> np.dtype([(
'a'
,
'f8'
),(
'b'
,
'S10'
)])
dtype([(
'a'
,
'<f8'
), (
'b'
,
'|S10'
)])
Using comma-separated field formats. The shape is (2,3):
12>>> 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:12>>> np.dtype([(
'hello'
,(np.
int
,
3
)),(
'world'
,np.void,
10
)])
dtype([(
'hello'
,
'<i4'
,
3
), (
'world'
,
'|V10'
)])
Subdivide
int16
into 2int8
?s, called x and y. 0 and 1 are the offsets in bytes:12>>> 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?:
12>>> np.dtype({
'names'
:[
'gender'
,
'age'
],
'formats'
:[
'S1'
,np.uint8]})
dtype([(
'gender'
,
'|S1'
), (
'age'
,
'|u1'
)])
Offsets in bytes, here 0 and 25:
12>>> np.dtype({
'surname'
:(
'S25'
,
0
),
'age'
:(np.uint8,
25
)})
dtype([(
'surname'
,
'|S25'
), (
'age'
,
'|u1'
)])
Attributes
base
descr
Array-interface compliant full description of the data-type. fields
Dictionary of named fields defined for this data type, or None
.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. metadata
name
A bit-width name for this data-type. names
Ordered list of field names, or None
if there are no fields.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 thisdtype
describes a sub-array, and None otherwise.Methods
newbyteorder
([new_order])Return a new dtype with a different byte order.
numpy.dtype

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