为什么答案是浮点数?我认为它应该是一个整数。
>>> import numpy as np
>>> np.uint64(12)
12
>>> np.uint64(12) + int(4)
16.0
>>>
答案 0 :(得分:1)
基于最近的reddit post。
这是Numpy函数设计为返回整个输入数据范围的一致值的方式。
16位无符号和有符号整数都适合int32,因此
>>> np.uint16(4) + np.int16(5)
9
但是对于uint64和int64,适合所有可能值的最小数据类型是float64。