1.文件操作
python3中不支持file,應(yīng)該使用open
numpy庫
argsort()函數(shù)
最開始一直沒搞懂這個函數(shù)什么意思,后來才明白了它的具體用途唾戚。我們經(jīng)常做的排序工作是這樣的,比如給定一個無序的數(shù)組,我們將該數(shù)組進行排序正卧,得到按照從小到大排列的數(shù)組(數(shù)組內(nèi)的元素順序發(fā)生了變化)。
比如跪解,對于數(shù)組8炉旷,5,3,19,21。排序后數(shù)組變成了3,5,8,19,21叉讥。
但是有時候窘行,我們只是想知道經(jīng)過排序后數(shù)組元素的位置變化情況(或者具體的說是實際排序后的元素在原來數(shù)組中的索引位置),而不想真正改變數(shù)據(jù)的元素順序节吮。argsort()所做的工作就是如此抽高。
例如仍然對上面的數(shù)組:
在python交互界面中依次執(zhí)行如下操作:
import numpy
a=numpy.array([8,5,3,19,21])
a.argsort()
最后我們得到的結(jié)果是:
array([2,1,0,3,4])
怎么解釋這個結(jié)果呢透绩?
對數(shù)組a進行從小到大排序的結(jié)果是
3,5,8,19,21
分別對應(yīng)原數(shù)組中的下標是:
2,1,0,3,4
這正好對應(yīng)了argsort函數(shù)的返回結(jié)果翘骂。
Matplotlib庫的使用
import matplotlib
import matplotlib.pyplot as plt
fig=plt.figure() #創(chuàng)建一個新的figure
ax=fig.add_subplot(111)
ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15.0*numpy.array(datingLabels),15.0*numpy.array(datingLabels))
plt.show()
附錄:
常見小問題集錦:
1.python3中如何在命令行交互式環(huán)境中reload模塊壁熄?
python3中imp模塊被廢止了,取而代之的是importlib模塊碳竟。具體操作如下:
import importlib
importlib.reload(module_name)
這樣就完成了module的重新加載草丧。