天天看點

Python之numpy包 學習筆記----------------------------持續更新ing------------------------------------------安裝導入重要函數

----------------------------持續更新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'>)

傳回給定軸上的數組元素的乘積。

>>> 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])