python学习日记20171219

split()函数的用法

在机器学习实战中遇到的问题

for line in array0Lines:
   #去掉字符串头尾的空格,类似于Java的trim()
    print (line)
    line=line.strip()
          #将整行元素按照tab分割成一个元素列表
    listFromLine=line.split('\t')


分割前

40920   8.326976        0.953952        largeDoses
分割后
['40920', '8.326976', '0.953952', 'largeDoses']

实际上,txt文本中存储的都是str格式的数字和字符,需要通过字符操作,将str分开成程序可识别的英文和数字


 np.where和matlab 中的find

>>a = np.array(a)
>>a
array([1, 2, 3, 1, 2, 3, 1, 2, 3])
>>idx = np.where(a > 2)
>>idx
(array([2, 5, 8], dtype=int32),)
>>a[idx]              # 这种做法并不推荐
array([3, 3, 3])        
>>a[a>2]               # 推荐的做法
array([3, 3, 3])    
ax.scatter用法
ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15.0*array(datingLabels),15.0*array(datingLabels))

升级可视化:,其他博客有误!!!
datingLabels = array(datingLabels)
idx_1= where(datingLabels==1)
print (datingDataMat[idx_1,1])
p1 =  ax.scatter(datingDataMat[idx_1,0],datingDataMat[idx_1,1],marker= '*',color = 'r',label='1',s=10)
idx2= where(datingLabels==2)
p2=  ax.scatter(datingDataMat[idx2,0],datingDataMat[idx2,1],marker= 'o',color ='b',label='1',s=10)
idx3= where(datingLabels==3)
p3=  ax.scatter(datingDataMat[idx3,0],datingDataMat[idx3,1],marker= '+',color ='g',label='1',s=30)
plt.legend(loc = 'upper right')
plt.show()
python学习日记20171219_第1张图片


你可能感兴趣的:(python学习日记20171219)