python数据预处理for knn

机器学习实战 一书中第20页数据预处理,从文本中解析数据的程序。
 1 import numpy as np
 2 def dataPreProcessing(fileName):
 3     with open(fileName) as op:
 4         lines=op.readlines()
 5         # 返回值是list
 6         lineNumer=len(lines)
 7         # list长度即文件中的行数
 8         dataMatrix=np.zeros((lineNumer,3))
 9         # 初始化lineNumer行,3列的全0矩阵,注意双层括号
10         labelVector=[]
11         # 标记向量初始化,它在目前是一个空的list
12         index=0
13         # 索引,为了后面给数据矩阵和标记向量初始化用的
14         for line in lines:
15             line=line.strip()
16             # 去空格
17             temp=line.split('\t')
18             # 按换行符分割数据,返回list
19             dataMatrix[index,:]=temp[0:3]
20             # 切片操作,dataMatrix[a,b:c]后的方括号中第一个值表示矩阵行号(从0开始)
21             # 第二、三个参数代表从b开始,c结束,前开后闭,包含b不包含c的元素
22             # temp中的两个参数同理
23             # 将temp中的前3个值赋给dataMatrix
24             labelVector.append(int(temp[-1]))
25             # 将temp中的最后一个值赋给labelVector,注意强转类型,不强转取到的类型为string
26             index=index+1
27         return dataMatrix,labelVector
28 # arr=np.array([[0,1,2],[3,4,5],[6,7,8]])
29 # print(arr[2,:])
30 fileName='./datingTestSet2.txt'
31 # “/”:表示根目录,在windows系统下表示某个盘的根目录,如“E:\”;
32 # “./”:表示当前目录;(表示当前目录时,也可以去掉“./”,直接写文件名或者下级目录)
33 # “../”:表示上级目录。
34 a,b=dataPreProcessing(fileName)
35 print(a,b)
View Code

 



附:今晚很郁闷,pycharm启动慢得要死,Numpy又用不了,好不容易才用清华镜像把numpy升级到可用状态,期间pycharm卡死了好几次,ukylin的虚拟机更卡,气得我想把电脑砸了,以后有替代的ide了再也不用pycharm了

转载于:https://www.cnblogs.com/flyingtester/p/10212074.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值