Я пытаюсь сделать сравнение массивов. Но когда я пытаюсь это сделать, я получаю сообщение об ошибке «слишком много индексов для массива». Я не мог понять это правильно.
Я пытался изменить диапазон в цикле for, но все равно получаю ту же ошибку. Я не мог придумать ни одной другой причины, по которой это могло бы произойти.
thresholdvalue1=(xpatient-sd_healthy)*10
thresholdvalue2=(((xhealthy+sd_patient))*10)
thresholdlist=[]
TP=[]
FP=[]
TN=[]
FN=[]
Ahealthy=np.random.randint(10,size=(1000,50))
Apatient=np.random.randint(10,size=(1000,50))
def thresholding(A,B):
for i in range(A,B):
thresholdlist.append(i)
i+=1
def newlist():
thresholdarray=np.asarray(thresholdlist)
thedivisor=10
newarray=(thresholdarray/thedivisor)
print(newarray)
for n in range(0,51):
if Apatient[:,n]>=newarray[:,n]:
TP.append(Apatient[:,n])
elif Ahealthy[:,n]>=newarray[:,n]:
FP.append(Ahealthy[:,n])
elif Apatient[:,n]<=newarray[:,n]:
TN.append(Apatient[:,n])
else:
FN.append(Ahealthy[:,n])
thresholding(thresholdvalue1,thresholdvalue2+1)
newlist()
Как видите, я пытаюсь сравнить каждый столбец матрицы с пороговым значением. И второй цикл for об этом сравнении. В конце я хочу получить 4 списка с условными значениями.