我想创建一个空数组,其中我期望值为random.randint(0, 2 ** 128)。这些值将写入 numpy 数组中。当尝试使用 as 创建空数组时numpy.int128:
X = numpy.empty(5, dtype=numpy.int128)
print X
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File "test.py", line 62, in <module>
X = np.empty(5, dtype=np.int128)
AttributeError: 'module' object has no attribute 'int128'
Run Code Online (Sandbox Code Playgroud)
这是否意味着 numpy 不支持这个值限制?
Numpy 仅支持以下数据类型
Data type Description
bool_ Boolean (True or False) stored as a byte
int_ Default integer type (same as C long; normally either int64 or int32)
intc Identical to C int (normally int32 or int64)
intp Integer used for indexing (same as C ssize_t; normally either int32 or int64)
int8 Byte (-128 to 127)
int16 Integer (-32768 to 32767)
int32 Integer (-2147483648 to 2147483647)
int64 Integer (-9223372036854775808 to 9223372036854775807)
uint8 Unsigned integer (0 to 255)
uint16 Unsigned integer (0 to 65535)
uint32 Unsigned integer (0 to 4294967295)
uint64 Unsigned integer (0 to 18446744073709551615)
float_ Shorthand for float64.
float16 Half precision float: sign bit, 5 bits exponent, 10 bits mantissa
float32 Single precision float: sign bit, 8 bits exponent, 23 bits mantissa
float64 Double precision float: sign bit, 11 bits exponent, 52 bits mantissa
complex_ Shorthand for complex128.
complex64 Complex number, represented by two 32-bit floats (real and imaginary components)
complex128 Complex number, represented by two 64-bit floats (real and imaginary components)
Run Code Online (Sandbox Code Playgroud)
在这些之上:
除了 intc 之外,还定义了与平台相关的 C 整数类型 Short、long、longlong 及其无符号版本。
https://docs.scipy.org/doc/numpy/user/basics.types.html