我在UCI中有数据虹膜。我想按班级对它进行分组。 我使用了这段代码:
def splitData(trainingSet, classedTrainingSet=[], listClass=[]):
for x in range(len(trainingSet)):
classData = trainingSet[x][-1] #string
if classData not in listClass:
listClass.append(classData)
for y in range(len(listClass)):
if listClass[y] == classData:
classedTrainingSet.append((y, trainingSet[x]))
错误是:
IndexError: tuple index out of range
如何按类别对数据分组?
答案 0 :(得分:0)
如果元组在获取最后一个元素时为空,则会出现此错误
In [1]: emptyTuple = ()
In [2]: emptyTuple[-1]
IndexError: tuple index out of range
classData = trainingSet[x][-1] #string
可以替换为
if len(trainingSet[x]) > 0:
classData = trainingSet[x][-1]