‘numpy.float64‘ object cannot be interpreted as an integer

import numpy as np

a = 10
b = 20
c = 30

d = np.zeros((a,b,c), dtype = np.float64)

for i in range(a):
    d[i,:,:] += 1

报错。后来发现是+1的过程会将所有执行这一步操作的元素都转化为np.int类型,而np.float64是不允许做这种强制类型转换的。所以换成:

for i in range(a):
    d[i,:,:] += 1.0

即可。

你可能感兴趣的:(numpy,python,机器学习)