我有一个这样的数组:
A=[[0,1,2,3],[4,5,6,7,8],[9,10,11]]
字符串
在我的代码中,我遍历数组中的每个数组,并取两个对我重要的值,如:
arr=[A[j][i-1],A[j][i]]
型
我第一次在for循环中做的时候,它工作得很好,但是我再次做了一次,以获取我想要的另一个值,我得到了这个输出:
arr2=[array[A[j][i-1]],array[A[j][i]]]
型
所以第二次它将每个元素保存为自己的数组。疯狂的事情是它只会发生第二次。我试着把它放在一个工作,但仍然没有什么,我不认为这是一个错误,因为我复制了完全相同的代码,只是改变了变量名。
有人知道为什么吗?谢啦,谢啦
示例如下:
FP3=[array([ 0. , 4.44 , 9.517, 19.054, 38.525, 71.371, 84.197, 83.273,
66.427, 62.726, 54.323, 42.741, 26.953, 15.468, 15.468]),
array([ 0. , 46.576483, 78.993133, 91.855251, 97.226361, 95.55402 ,
95.152298, 94.595104, 94.26279 , 89.147579, 89.171261, 83.769474,
69.903644, 46.475055])]
for j in range(len(FP3)):
i=0
while FP3[j][i]<0.6*max(FP3[j]):
i=i+1
XD=[DP3[j][i-1],DP3[j][i]]
YF=[FP3[j][i-1],FP3[j][i]]
max_value = max(FP3[j])
indices = np.where(FP3[j] == max_value)[0]
i=indices
while FP3[j][i]>0.85*max(FP3[j]):
i=i+1
XD=[DP3[j][i-1],DP3[j][i]]
YF=[FP3[j][i-1],FP3[j][i]]
Dc=np.interp(0.85*max(FP3[j]), YF, XD)
Cp1[j] = Dc
Cp2[j] = 0.85*max_value
型
2条答案
按热度按时间aamkag611#
这是因为索引“indices”是一个数组dtype 64开始,所以在循环中它会弄乱值。谢谢你的帮忙。
e5nqia272#
要解决此问题,请确保在存储值时使用正确的变量名arr 2。
arr2 = [arr[A[j][i-1]],arr[A[j][i]
请确保在整个代码中使用正确的变量名,以避免此类问题。