1. 问题描述
I’ve seen np.int0 used for converting bounding box floating point values to int .
for example
location_int = np.int0(location)
What exactly is np.int0?
2. 解答
2.1 运行代码验证在64位操作系统中 int0 等价与int64
import numpy
print('numpy.int0 is')
print(numpy.int0)
print('')
b = numpy.int0(12.322222222222222)
print('b=')
print(b)
print('')
print('b.nbytes=')
print(b.nbytes)
2.2 numpy的官方文档中没有提到int0
https://docs.scipy.org/doc/numpy-1.10.0/user/basics.types.html
Array types and conversions between types
Numpy supports a much greater variety of numerical types than Python does. This section shows which are available, and how to modify an array’s data-type.
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) |
Additionally to intc the platform dependent C integer types short, long, longlong and their unsigned versions are defined.
Numpy numerical types are instances of dtype (data-type) objects, each having unique characteristics. Once you have imported NumPy using