python quot;TypeError: #39;numpy.float64#39; object cannot be interpreted as an integerquot;(python“TypeError:numpy.float64对象不能解释为整数)
问题描述
import numpy as np
for i in range(len(x)):
if (np.floor(N[i]/2)==N[i]/2):
for j in range(N[i]/2):
pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)
else:
for j in range((N[i]-1)/2):
pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)
有没有人有解决这个问题的想法?运行这些代码成功地?
Does anyone has an idea of solving this problem? Running these codes successfully?
推荐答案
N=np.floor(np.divide(l,delta))
...
for j in range(N[i]/2):
N[i]/2
将是一个 float64
但 range()
需要一个整数.只需将电话转至
N[i]/2
will be a float64
but range()
expects an integer. Just cast the call to
for j in range(int(N[i]/2)):
这篇关于python“TypeError:'numpy.float64'对象不能解释为整数"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!