您的位置:首页 > 编程语言 > Python开发

python学习日记20171219

2017-12-19 17:10 190 查看

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])
[code]ax.scatter用法
[/code]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()

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: