我第一次在 python 中实现著名的虹膜分类问题。我有一个数据文件,即 iris.data。我必须在我的 python 项目中导入这个文件。我尝试使用 Google Colab。
样本数据
属性是:
1.萼片长度(cm) 2.萼片宽度(cm) 3.花瓣长度(cm) 4.花瓣宽度(cm) 5.类:
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
5.0,3.4,1.5,0.2,Iris-setosa
我的话
import torch
import numpy as np
import matplotlib.pyplot as plt
FILE_PATH = "E:\iris dataset"
MAIN_FILE_NAME = "iris.dat"
data = np.loadtxt(FILE_PATH+MAIN_FILE_NAME, delimiter=",")
但它没有工作并通过错误。
但是当我在 Linux 中编写代码时它起作用了。但目前我使用的是 Windows 10,但它不起作用。
提前感谢您的帮助。
为 构建文件名时np.loadtxt
,\
缺少一个,如FILE_PATH+MAIN_FILE_NAME = 'E:\iris_datasetiris.dat
. 为避免\
在FILE_PATH
和之间手动添加MAIN_FILE_NAME
,您可以使用os.path.join
,它为您执行此操作。
import os
import numpy as np
FILE_PATH = 'E:\iris dataset'
MAIN_FILE_NAME = 'iris.dat'
data = np.loadtxt(os.path.join(FILE_PATH, MAIN_FILE_NAME), delimiter=',') # not actually working due to last column of file
另一方面,我不确定为什么它确实适用于 Linux,因为 numpy 无法将字符串“Iris-setosa”转换为 np.loadtxt 尝试执行的数字。如果您只对数值感兴趣,可以使用usecols
关键字 ofnp.loadtxt
data = np.loadtxt(os.path.join(FILE_PATH, MAIN_FILE_NAME), delimiter=',', usecols=(0, 1, 2, 3))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句