问题
I'm trying to fill an array with integers, but it seems like numpy array keep turning the integers into floats. Why is this happening and how do I stop this?
arr = np.empty(9)
arr[3] = 7
print(arr[3])
>>>7.0
回答1:
NumPy arrays, unlike Python lists, can contain only a single type, which (as far as I know) is set at creation time. Everything you put into the array gets converted to that type.
By default, the data type is assumed to be float
. To set another type, you can pass dtype
to the empty
function like this:
>>> arr = np.empty(9, dtype=int)
>>> arr[3] = 7
>>> arr[3]
7
来源:https://stackoverflow.com/questions/51607607/why-do-numpy-array-turns-int-into-float