我想创建一个空数组,期望值是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不支持此值限制?

最佳答案

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)


在这些之上:


  此外,为了简化与平台有关的C整数类型,
  long,longlong及其无符号版本已定义。


https://docs.scipy.org/doc/numpy/user/basics.types.html

10-05 21:15
查看更多