在Python中按类别对数据进行分组

时间:2018-09-18 09:40:33

标签: python python-3.x

我在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

如何按类别对数据分组?

1 个答案:

答案 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]