1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
"""
DType classes and utility (:mod:`numpy.dtypes`)
===============================================
This module is home to specific dtypes related functionality and their classes.
For more general information about dtypes, also see `numpy.dtype` and
:ref:`arrays.dtypes`.
Similar to the builtin ``types`` module, this submodule defines types (classes)
that are not widely used directly.
.. versionadded:: NumPy 1.25
The dtypes module is new in NumPy 1.25. Previously DType classes were
only accessible indirectly.
DType classes
-------------
The following are the classes of the corresponding NumPy dtype instances and
NumPy scalar types. The classes can be used in ``isinstance`` checks and can
also be instantiated or used directly. Direct use of these classes is not
typical, since their scalar counterparts (e.g. ``np.float64``) or strings
like ``"float64"`` can be used.
.. list-table::
:header-rows: 1
* - Group
- DType class
* - Boolean
- ``BoolDType``
* - Bit-sized integers
- ``Int8DType``, ``UInt8DType``, ``Int16DType``, ``UInt16DType``,
``Int32DType``, ``UInt32DType``, ``Int64DType``, ``UInt64DType``
* - C-named integers (may be aliases)
- ``ByteDType``, ``UByteDType``, ``ShortDType``, ``UShortDType``,
``IntDType``, ``UIntDType``, ``LongDType``, ``ULongDType``,
``LongLongDType``, ``ULongLongDType``
* - Floating point
- ``Float16DType``, ``Float32DType``, ``Float64DType``,
``LongDoubleDType``
* - Complex
- ``Complex64DType``, ``Complex128DType``, ``CLongDoubleDType``
* - Strings
- ``BytesDType``, ``BytesDType``
* - Times
- ``DateTime64DType``, ``TimeDelta64DType``
* - Others
- ``ObjectDType``, ``VoidDType``
"""
__all__ = []
def _add_dtype_helper(DType, alias):
# Function to add DTypes a bit more conveniently without channeling them
# through `numpy.core._multiarray_umath` namespace or similar.
from numpy import dtypes
setattr(dtypes, DType.__name__, DType)
__all__.append(DType.__name__)
if alias:
alias = alias.removeprefix("numpy.dtypes.")
setattr(dtypes, alias, DType)
__all__.append(alias)
|