用的是anaconda py3.6的版本,与书上的版本部分不兼容
在计算行数以后returnMat里头就全是0,可能是维持了zeros初始化,具体原因不太清楚
但我把计算行数的程序屏蔽以后,就可以正常显示了
(当然numberOfLines的值需要自己根据.txt文件长度手工输入)
修改后的程序如下:
import numpy as np
import operator
fr = open('datingTestSet2.txt')
#自动统计行数的时候总是出错
#arrayOLines = fr.readlines()
#arrayOLines = np.array(arrayOLines)
#numberOfLines = len(arrayOLines)
returnMat = np.zeros((1000,3)) #原来的numberOfLines现在改成1000
classLabelVector =[]
index = 0
for line in fr.readlines():
line = line.strip()
listFromLine = line.split()
# print(listFromLine)
listFromLine = np.array(listFromLine)
listFromLine1 = listFromLine.astype(float)
# print(listFromLine1)
returnMat[index,:] = listFromLine1[0:3]
classLabelVector.append(int(listFromLine[-1]))
# print(returnMat)
index += 1
原来的程序及结果如图:
暂时先这么简单处理了~希望以后有更好的处理办法
--第一篇CSDN--