So I have a code to basically loop through a few different arrays and then split according to training and testing indexes before storing the results in a train and test. However, when executing it, it returns an error for the test even though the exact same code is used for train
the code is as follow:
train = []
test = []
for i in ho:
temp = newarr[i]
#print(temp)
#make overall list
li = list(range(0,24))
#get training indexes
trgidx = list(random.sample(range(0,23),12))
#get testing indexes
tstidx = list(set(li).symmetric_difference(set(trgidx)))
#extract training samples for the class
for trg in trgidx:
trgsample = temp[:,trg]
train.append(trgsample)
#extract testing samples
for test in tstidx:
print(test)
testsample = temp[:,test]
test.append(testsample)
train = np.array(train).T
test = np.array(test).T
The error is shown at line 21; ho is simply a list from [0,1,2,3] with each instance stored in the corresponding array, newarr
19 print(test)
20 testsample = temp[:,test]
21 test.append(testsample)
AttributeError: 'int' object has no attribute 'append'
Error is shown at line 21
The same code runs fine for the 'train' method, does anyone know where it's going wrong?
CodePudding user response:
for test in tstidx:
It has the same name test as the list test
. Need to change one of the names.