面向矩陣的numpy入門筆記

2022-05-24 20:27:20 字數 2113 閱讀 8320

我先宣告我學numpy的目的:在python中使用矩陣(我需要在機器學習中使用矩陣),所以我的目的很明確,矩陣;

矩陣在numpy中叫ndarray(the n-dimensional array),我就是很喜歡問這個ndarray為啥叫ndarray,可是大多教程(特別是中文教程)都不說,這就不利於我們給ndarray乙個形象的記憶。

ndarray就是多維陣列,叫這個是為了與python裡的陣列區分開來。

之後我們把目的細分,具體到這個庫對應的函式(以下**都省略了 import numpy as np 哦):

向量:生成向量用linspace (線性空間)

a = np.linspace( 1, 10 , 5 , endpoint =true)

/*引數說明 第乙個1 是起始數,10是末尾數,5是生成向量(陣列)的長度,最後乙個是生成陣列是否包含末尾數的選擇,預設為true(即包含10)

*/b = np.arange(n)

//生成從0 到n-1的陣列

c = np.concatenate( a,b)

//把兩個陣列連起來 concatenate就是乙個單詞,表示鏈結起來

普通矩陣

a = np.array(list/tuple , dtype =np.float32)

//用array函式最直接,第乙個引數為矩陣內容,如

a = np.array([ [1,2] , [3,4] ] )

//矩陣內容為包含行列表的列表,行之間用 逗號 分隔, btw, 用()代替也是可以的

//列印a

print

( a )

// [[1 2]

// [3 4]]

特殊矩陣

//一下shape 都是元祖哦, 直白說, 就是類似  ( (行數 , 列數) )的寫法

np.ones(shape)

np.zeros(shape)

//元素全為一或全為零的矩陣

np.full(shape,val)

//生成乙個每個元素都是val的矩陣 full有全部的意思,所以就是 全部都為val

np.eye(n)

//生成乙個對角線為1,其餘為零的方陣 (n維單位矩陣)eye,網上說是因為其與數學上單位矩陣的字母i讀音一樣。

like  一族

a =np.ones_like(b)

//生成shape和b一樣的全為 1的矩陣

b =np.zeros_like(a)

//這個你猜一下把。

修改矩陣

.reshape(tuple)

//改變原來的矩陣的shape,但是要使生成矩陣與原元素相同

// a = np.arrange(30).reshape( ( 2,3,5) ) 比如這樣用

// 這兒有個注意的地方,如果引數的元組元素裡面有-1,說明其大小可以由其他元祖元素推出來,不用程式設計師給出。

// 例如乙個 長100 的向量 a ,想把它改成 20*5則

a.reshape((20,-1))

.resize( tuple )

//這個和reshape一樣用,不過會改變原陣列哦,也就是reshape用完,原陣列還是原來的配方,但是用過resize之後,某老吉就變成某多寶了~.swapaxes( ax1 , ax2)

//學過線代的都覺得這個熟悉吧, ,沒錯這就是轉置,transpose

//以下函式都是 ndaray物件的成員 直白就是 宣告了乙個矩陣a, 要使用就得 a.value()

a.ndim

//就是矩陣的維度,一般是2嘛

a.shape

//n 行 m 列

a.size

// 矩陣中有幾個元素,相當於 n*m

a.dtype

//矩陣中元素的型別

numpy有乙個奇怪的運算叫元素運算,就是a*b代表矩陣a和矩陣b每個元素相乘,,那麼我的運算在**呢?

矩陣與矩陣運算

np.dot( a , b) 

//矩陣乘法

a**-1

//矩陣的逆

NumPy入門筆記(一)

numpy是python的乙個科學計算庫,提供了矩陣計算的功能。pandas對numpy庫進行了二次封裝,提供了更強大的功能。numpy可用來儲存和處理大型矩陣,比python自身的資料結構 字串,佇列,元組,字典 更高階。numpy的主要物件是乙個多維度的,均勻的多維陣列,可以進行矩陣運算。1.建...

NumPy快速入門學習筆記

可以說是剛剛入門了python,最近需要做深度學習的任務,但是發現numpy的知識一無所知,所以應該靜下來學一學。寫這些東西,最重要的就是想要自己去用它,在這裡也跟自己提個醒,避免頻繁的陷入一些不必要的學習之中。要明白自己學習的目的,是為了用而學習,而不是為了學習而去學習 就目前階段,許多事物擺在眼...

numpy的矩陣計算

給乙個向量a 0,1,2 每個元素乘以2 a for e in a 或者a 2 e for e in a 或者a np.array 2 e for e in a 這個比較快 如果是numpy的array 直接2 a就可以了這個最快 universal functions 1,1都可以 np.abs ...