標籤:

python與numpy使用的一些小tips(1)


1,python的len()函數

返回列表元素個數【Python List len()方法】

需要說明的是:當一個如shape=(1,2,3)的numpy數組,它會放回1。因為python認為:這個數組有一個元素,而每一個元素的形狀是(2,3).總的來說,len()函數返回的是其第一個維度的個數。底下是列子:

A = np.ones((1,2,3))nprint(A.shape)nprint(len(A))nB = np.ones((6,2,3))nprint(B.shape)nprint(len(B))n輸出:n(1, 2, 3)n1n(6, 2, 3)n6n


2,matplotlib的plot使用

第一個需要注意的是plot(x,y)

  1. x和y必須有相同的第一個維度
  2. x和y的維度必須不超過2

畫一個一維的,一條線:nA = np.ones(1000)nplt.plot(range(len(A)),A)nplt.show()n

註:A = np.ones((1000,1))畫出來的是一樣的,最後要show一下才會出現圖表

畫一個一維的,一條線:nA = np.random.uniform(0,1,(1000,1))nB = np.random.uniform(0,2,(1000,1))nC = np.concatenate([A,B],axis=1)nplt.plot(range(len(C)),C)nplt.show()nprint(C.shape)n輸出:n(1000, 2)n

註:

  1. 畫N條線y的第二個為N個維度。
  2. numpy.random.uniform(low=0.0, high=1.0, size=None)【numpy.random.uniform - NumPy v1.10 Manual】產生一個[low,high)的均勻分布的隨機數,形狀為size

對range討論:

print(range(8))nprint(range(8)[0])nprint(range(8)[1])nprint(type(range(8)))nprint(len(range(8)))n輸出:nrange(0, 8)n0n1n<class range>n8n

range輸出的就是一個range類,其餘的讀者自行體會

保存圖表

plt.savefig(os.path.join(testspeechdir, BF_{}_{}.png.format(epoch,index)))nplt.close()n

  1. plt.savefig:圖表路徑包含名稱
  2. plt.close():是將圖表關閉,要不然它是接著上一次的畫【matplotlib 繪圖可視化知識點整理 - Python - 伯樂在線
  3. plt.axis([xmin, xmax, ymin, ymax])上面例子里的axis()命令給定了坐標範圍。

3,numpy取整函數

一,round四捨五入

a = np.float(3.3)nprint(np.round(a))nb = np.float(3.6)nprint(np.round(b))n輸出:n3n4n

二,floor向下取整

a = np.float(3.3)nprint(np.floor(a))nb = np.float(3.6)nprint(np.floor(b))n輸出:n3.0n3.0n

三,ceil向上取整

a = np.float(3.3)nprint(np.ceil(a))nb = np.float(3.6)nprint(np.ceil(b))n輸出:n4.0n4.0n


4,一個小任務,把範圍從0到255每一個值都可以取到的一組數,規整到0到255但只可以去其中的10個數

testA = SpeechGenerator(testimgdirA,speechlen)nA_speech_batch = next(testA)nAO_speech_batch = np.round(A_speech_batch/25.)*25nC_speech_batch = np.concatenate([AO_speech_batch,A_speech_batch],axis=-1)nplt.plot(range(len(C_speech_batch[0])),C_speech_batch[0])nplt.show()n

註:A_speech_batch/25.因為A_speech_batch為float數據類型,它只可以和同類型的數相除。所以25後面要加一個小點

歡迎關注公眾號:huangxiaobai880

https://www.zhihu.com/video/924616677998620672
推薦閱讀:

小說人物關係的可視化
限時加入!國內第二個千人Python自動化運維實名社群成立
Python 結巴分詞(jieba)源碼分析

TAG:Python | numpy |