为什么答案是 float ?我认为它应该是一个整数。
>>> import numpy as np
>>> np.uint64(12)
12
>>> np.uint64(12) + int(4)
16.0
>>>
最佳答案
基于最近的 reddit post .
这就是 Numpy 函数旨在为整个输入数据范围返回一致值的方式。
16 位无符号和有符号整数都适合 int32,因此
>>> np.uint16(4) + np.int16(5)
9
然而,对于 uint64 和 int64,适合所有可能值的最小数据类型是 float64。
关于python - 无符号数和有符号数的numpy总和变为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788845/