numpy 数组用print 默认输出最前面3行和最后3行:
import numpy as np #np.set_printoptions(threshold=np.nan) #设置打印数量的阈值 dataFileName = 'datingSets.txt' dataFile = open(dataFileName, 'r+') dataSet = dataFile.readlines() # 读取文件的全部内容 numberOfLines = len(dataSet) # 获得数据集的行数 returnMat = np.zeros((numberOfLines, 3)) # 创建一个初始值为0,大小为 numberOfLines x 3 的数组 classLabelVector = [] # 用于保存没个数据的类别标签 index = 0 for line in dataSet: # 处理每一行数据 line = line.strip() # 去掉行首尾的空白字符,(包括'\n', '\r', '\t', ' ') listFromLine = line.split() # 分割每行数据,保存到一个列表中 returnMat[index, :] = listFromLine[0:3] # 将列表中的特征保存到reurnMat中 classLabelVector.append(int(listFromLine[-1])) # 保存分类标签 index += 1 print(returnMat)
输出:
E:\Python36\python.exe E:/PycharmProjs/test3.py [[ 6.96500000e+03 8.13923003e+01 1.56336061e+00] [ 4.88000000e+03 8.82246865e+01 4.69936230e-01] [ 3.59600000e+03 2.47930417e+00 1.77832451e+00] ..., [ 4.28700000e+03 5.76863064e+01 1.58363997e+00] [ 9.15000000e+03 9.40221958e+01 8.96529800e-01] [ 5.04600000e+03 3.03901542e+01 7.32563750e-01]] Process finished with exit code 0
添加一句:np.set_printoptions(threshold=np.nan) #设置打印数量的阈值
结果都输出出来了,开始的时候我还以为是print的限制呢。