问题描述
为什么我得到这个错误信息? ValueError错误:在设置数组元素与序列。谢谢
Z = np.array([1.0,1.0,1.0,1.0])高清FUNC(TempLake,Z):
A = TempLake
B =ž
返回A * BnLayers一起= Z.size
N = 3
TempLake = np.zeros((N + 1,nLayers一起))KOUT = np.zeros(N + 1)
对于我的xrange(N):
KOUT [I] = FUNC(TempLake [Ⅰ],Z)
您收到的错误消息
ValueError错误:在设置数组元素与序列。
因为你想设定一个序列的数组元素。我并不想成为可爱的,还有 - 错误消息要告诉你问题是什么。不要把它想成一个神秘的错误,它只是一个短语。什么线是给这个问题?
KOUT [I] = FUNC(TempLake [I],Z)
此行试图为 KOUT
到任何 FUNC的
的回报。综观第i
元素(TempLAke [I],Z) I = 0
情况:
在[39]:KOUT [0]
出[39]:0.0在[40]:FUNC(TempLake [0],Z)
出[40]:阵列([0,0,0,0])
您正试图加载4个元素的数组到 KOUT [0]
其中只有一个float。因此,你要设置一个数组元素(左侧, KOUT [I]
)用序列(右手边, FUNC(TempLake [I],Z)
)。
也许 FUNC
不是做你想要什么,但我不知道你真正想要它做的事(不要忘了你通常可以使用矢量像A * B而不是numpy的循环操作。)这应该解释的问题,反正。
Why do I get this error message? ValueError: setting an array element with a sequence. Thank you
Z=np.array([1.0,1.0,1.0,1.0])
def func(TempLake,Z):
A=TempLake
B=Z
return A*B
Nlayers=Z.size
N=3
TempLake=np.zeros((N+1,Nlayers))
kOUT=np.zeros(N+1)
for i in xrange(N):
kOUT[i]=func(TempLake[i],Z)
You're getting the error message
ValueError: setting an array element with a sequence.
because you're trying to set an array element with a sequence. I'm not trying to be cute, there -- the error message is trying to tell you exactly what the problem is. Don't think of it as a cryptic error, it's simply a phrase. What line is giving the problem?
kOUT[i]=func(TempLake[i],Z)
This line tries to set the ith
element of kOUT
to whatever func(TempLAke[i], Z)
returns. Looking at the i=0
case:
In [39]: kOUT[0]
Out[39]: 0.0
In [40]: func(TempLake[0], Z)
Out[40]: array([ 0., 0., 0., 0.])
You're trying to load a 4-element array into kOUT[0]
which only has a float. Hence, you're trying to set an array element (the left hand side, kOUT[i]
) with a sequence (the right hand side, func(TempLake[i], Z)
).
Probably func
isn't doing what you want, but I'm not sure what you really wanted it to do (and don't forget you can usually use vectorized operations like A*B rather than looping in numpy.) That should explain the problem, anyway.
这篇关于numpy的ValueError错误:在设置数组元素与序列。可能会出现没有一个序列的存在此消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!