想要构建一个新的 2D 数组,其中 n 个数字左右形成 numpy 数组中的最大值 x,但左侧站点可能是 n<x?



我有这个:

pI= np.array([[0,0]])
pI=np.append(pI,[[float(q),float(I)]],axis=0)

并阅读几个.csv

Eingabe_Höhe = int(input("Höhe?"))
Eingabe_Breite = int(input("Breite?"))
for i in range(Eingabe_Breite):
   for k in range(Eingabe_Höhe):
       phI = read_pI(arguments[k+i*Eingabe_Höhe])
       print(arguments[k+i*Eingabe_Höhe], i ,k)
       print(phI)
       I_max = np.max(phI[:,1])       
       print(I_max)
       I_max_index = np.argmax(phI[:,1])
       print(I_max_index)
       phI_max = phI[(I_max_index-50 ):(I_max_index+50)]
       print(phI_max)

这是我的问题:

 phI_max = phI[(I_max_index-50 ):(I_max_index+50)]

在某些情况下,I_max_index -50超出了范围。只有" 10"是可能的,但是我永远不知道,我可以走多少。

我该如何告诉程序只能转到索引" 0"而不要尝试"剩下更多"?

我想你想做类似的事情:

phI_max = phI[max(I_max_index - 50, 0):I_max_index + 50]

最新更新