'''导入数据
input: file_name(string):文件的存储位置
output: feature_data(mat):特征
label_data(mat):标签
n_class(int):类别的个数
'''
import numpy as np
file_name='./python_File/test.txt'
with open(file_name,'r') as f:
feature_data=[]
lable=[]
for lines in f.readlines():
feature_temp=[]
line=lines.strip().split(' ')
for i in range(len(line)-1):
feature_temp.append(line[i])
lable.append(int(line[-1]))
feature_data.append(feature_temp)
print(np.mat(feature_data))
print(np.mat(feature_data)[0,0])
print(np.mat(lable).T)
小细节
readline() 函数在读取文件中一行的内容时,会读取最后的换行符“\n”,加上 print() 函数输出内容时默认会换行,所以输出结果中会看到多出了一个空行
readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每个元素为文件中的一行内容,和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符不能删除中间部分的字符
split() 通过指定分隔符对字符串进行切片
传送门
Mat运算
Numpy中array与mat的运算
array()和mat()的区别
Python中Numpy mat的使用