我想创建一个空数组,我期望值为random.randint(0, 2 ** 128)
。值将以numpy数组写入。尝试使用numpy.int128
创建空数组时:
X = numpy.empty(5, dtype=numpy.int128)
print X
我收到此错误:
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'
这是否意味着numpy不支持这个值限制?
答案 0 :(得分:1)
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)
最重要的是:
除了intc平台依赖的C整数类型之外, long,longlong及其无符号版本已定义。