python numpy读取文件 需要文件iris.data文件可发

请问如何通过图中的程序写出一个读取X y跟数据类别的结果,不能改变程序内容 只能在def里面加,不能用sklearn读取

img

img

img

可以这样处理:

def loadiris_dataset(filename):
    with open(filename) as data_file:
        lines=data_file.readlines()
        X = []; y1=[]
        index = 0
        #解析文件数据到列表
        for line in lines:
            line = line.strip()
            listFromLine = line.split(',')
            X.append(list(map(float,listFromLine[0:4])))
            y1.append(listFromLine[-1])
            index += 1
    
    class_labels=list(set(y1))
    
    y=[]
    for i in y1:
        if i=='Iris-setosa':
            y.append(0)
        elif i=='Iris-versicolor':
            y.append(1)
        else:
            y.append(2)
    
    return X,y,class_labels

#例如,调用函数
X,y,class_labels=loadiris_dataset('data/iris.data')

with open(filename,'r') as f:
iris_data = f.read().strip()
这样就读取成功了,然后设置一下数据和标签就可以了