----------------------------持續更新ing------------------------------------------
安裝
終端輸入
pip3 install numpy
導入
import numpy as np
重要函數
np.mean(array,axis=)
其中參數axis,以m * n矩陣舉例:
axis 不設定值,對 m*n 個數求均值,傳回一個實數
axis = 0:壓縮行,對各列求均值,傳回 1* n 矩陣
axis =1 :壓縮列,對各行求均值,傳回 m *1 矩陣
>>> now2
matrix([[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
>>> np.mean(now2) # 對所有元素求均值
3.5
>>> np.mean(now2,0) # 壓縮行,對各列求均值
matrix([[ 2.5, 3.5, 4.5]])
>>> np.mean(now2,1) # 壓縮列,對各行求均值
matrix([[ 2.],
[ 3.],
[ 4.],
[ 5.]])
np.hstack(array)
參數tup可以是元組,清單,或者numpy數組,傳回結果為numpy的數組
這個函數比較難以用文字說明他的作用,就直接看個示例把
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
[2, 3],
[3, 4]])
籠統地說就是把每個矩陣對應列合并
np.random.randn()
該函數從标準正态分布中傳回一個或多個樣本值
參數就是生成矩陣的shape,注意在不需要括号
即randn(2,3)就是生成一個2行3列的numpy.array
np.arange([start,] stop[, step,], dtype=None)
生成一個ndarray
start開始數字,stop結束數字,左閉右開,step為步長
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0., 1., 2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
np.random.choice(a=5, size=3, replace=False, p=None)
該函數是從a 中以機率P,随機選擇size個, p沒有指定的時候相當于是一緻的分布
replace 參數如果設定為True,則生成的數中有一樣的,可以了解為有放回的
看一個當p!=None的時候的例子
a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
np.random.rand(shape)
rand(d0,d1,.....,dn)産生[0,1]的浮點随機數,括号裡面的參數可以指定産生數組的形狀
>>> numpy.random.rand(2,2)
array([[0.96630975, 0.47834647],
[0.65831495, 0.38897275]])
np.argmin(a,axis=) ornp.argmax(a,axis=)
該函數是傳回矩陣的最值的索引, 參數a就是矩陣,axis的意義與之前的max,sum等函數的axis意義相同,壓縮列或者壓縮行
傳回一個ndarray
看幾個例子
>>> a = np.array([[1,5,2],[2,7,8]])
>>> c= np.argmin(a,axis=0)
>>> c
array([0, 0, 0])
>>> c= np.argmax(a,axis=1)
>>> c
array([1, 2])
>>> c= np.argmax(a)
>>> c
5
np.reshape(a,(2,2))
這個函數用來對改變矩陣的shape,常用參數兩個,
a就是你要改變的那個矩陣 ,
(2,2)是一個元組,代表新矩陣的shape
該函數傳回一個ndarray,但是要注意:原矩陣不變,與不可變類型很像,直接看代碼
>>> a= numpy.array([1,2,3,4])
>>> numpy.reshape(a,(2,2))
array([[1, 2],
[3, 4]])
>>> a
array([1, 2, 3, 4])
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class 'numpy._globals._NoValue'>)
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class 'numpy._globals._NoValue'>)
傳回給定軸上的數組元素的乘積。
>>> a=np.prod(np.array([[1,2],[3,4]]),axis=1)
>>> a
array([ 2, 12])
>>> a=np.prod(np.array([[1,2],[3,4]]),axis=0)
>>> a
array([3, 8])