我有以下代码
让我们将数组karr
的行命名为s1,a,s2,r,t
:
>>> k = [[0.,0.,0.,-0.9,0.3],[0.,0.,1.,0.9,0.6]]
>>> import numpy as np
>>> karr = np.array(k)
>>> V = np.array([3,4])
我想为数组的每个元素s1,a,s2,r,t
计算r+V[s2]
。
所以,我想要的输出是[-0.9+V[int(0.)],0.9+V[int(1.)]]=[-0.9+3,0.9+4]=[2.1,4.9]
。我尝试了以下操作,但出现以下错误:
>>> karr[:,3] + V[int(karr[:,2])]
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: only size-1 arrays can be converted to Python scalars
将V[karr[:,2]
更改为V[int(1.0)]
有效(尽管这不是我想要的):
>>> karr[:,3] + V[int(1.0)]
array([-0.9, 0.9])
如何使karr[:,3] + V[karr[:,2]]
工作
问题是
karr[:,2]
不是整数,您可以这样做不等于
相关问题 更多 >
编程相关推荐