### Navigation

- index
- modules |
- modules |
- previous |
- NumPy v1.5 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Data type routines »

# numpy.dtype

class `numpy.``dtype`

  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 if obj is a dictionary or a comma-separated string. 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.

  Examples

  Using array-scalar type:

      >>> np.dtype(np.int16)
      dtype('int16')

  Record, one field name ‘f1’, containing int16:

      >>> np.dtype([('f1', np.int16)])
      dtype([('f1', '<i2')])

  Record, one field named ‘f1’, in itself containing a record with one field:

      >>> np.dtype([('f1', [('f1', np.int16)])])
      dtype([('f1', [('f1', '<i2')])])

  Record, 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',(np.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')])

  Methods

  `newbyteorder` |

### Navigation

- index
- modules |
- modules |
- previous |
- NumPy v1.5 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Data type routines »