鳶尾花資料讀取的總結
阿新 • • 發佈:2018-12-13
1、手寫最基本讀取
f = open('8.iris.data','r',encoding='utf-8')
x = []
y = []
for d in f:
d = d.strip()
if not d:
continue
d = d.split(',')
x.append(list(map(float,d[:2])))
y.append((d[-1]))
y = np.array(list(map(iris_type,y)))
x = np.array(x)
2、使用python自帶庫csv
x = []
y = []
f = open('8.iris.data', 'r', encoding='utf-8')
d = csv.reader(f)
for line in d:
if not d:
continue
x.append(list(map(float, line[:2])))
y.append(line[-1])
y = np.array(list(map(iris_type, y)))
x = np.array(x)
3、使用numpy的方法讀入
data = np.loadtxt('8.iris.data', converters={4: iris_type},dtype=float, delimiter=',',encoding='utf-8')
print(type(data))
x, y = np.split(data, (4,), axis=1)
x = x[:, :2]
print(x)
print(y.shape)
print(y.ravel().shape)
#split返回的y的shape是(150, 1),但是訓練時的函式fit用的y是(150,),所以需要拉平y.ravel()
#4、使用pandas的方法讀入
data = pd.read_csv('8.iris.data',converters={4: iris_type},header=None)
x = data.loc[:,:1].values
y = data.loc[:,4].values
print(x.shape)
print(y.shape)