新手入門學(xué)習(xí)python Numpy基礎(chǔ)操作
NumPy(Numerical Python) 是 Python 語言的一個擴展程序庫,支持大量的維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學(xué)函數(shù)庫。是在學(xué)習(xí)機器學(xué)習(xí)、深度學(xué)習(xí)之前應(yīng)該掌握的一個非常基本且實用的Python庫。
導(dǎo)入庫,創(chuàng)建數(shù)組
import numpy as npa = np.arraya = np.array([0, 1, 2, 3, 4] ) #使用array函數(shù)a = np.array([[11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25], [26, 27, 28 ,29, 30], [31, 32, 33, 34, 35]]) #創(chuàng)建多維數(shù)組a=np.zeros((2, 3)) #創(chuàng)建兩行三列的0填充的矩陣,ones(shape)則是創(chuàng)建1填充的,np.full((m,n)8) m行n列的全部是8的參數(shù)a=np.linspace(1., 4., 6) #創(chuàng)建1到4之間,共6個元素的等值間距的數(shù)組a=np.arange(起,止,步長) #創(chuàng)建 從起到至,按步長排列的數(shù)組a= np.indices((3,3)) #創(chuàng)建一個堆疊的更高維度的數(shù)組a=np.mat() #創(chuàng)建矩陣,array只能從列表中生成,而mat可以從字符串或者列表中生成,比如mat('1,2;3,4'),而array([1,2,3,4]),mat是矩陣、array是數(shù)組(假矩陣)
基本操作符
np中矩陣之間加減乘除是對應(yīng)元素的+、-、*、/, 【注】一個數(shù)組加一個整數(shù),則是對該數(shù)組每個元素加該整數(shù),這個過程成為數(shù)組的廣播,如果階數(shù)不同則是每行與每行對應(yīng)相乘。
mat的矩陣若是使用*則是矩陣相乘,而非對應(yīng)元素相乘
其他的計算函數(shù):
multiply(),數(shù)組或矩陣對應(yīng)位置相乘 dot()函數(shù),a.dot(b)表示ab矩陣相乘,數(shù)學(xué)上的相乘。 sum() #求和,可使用axis限定方向,0為縱向,1為橫向。[[...],[...],[...]]這樣橫著放求得時候他也會默認為二維方陣,最后結(jié)果是[...] min() #找出最小的元素 max() #找出最大的元素 mean() #返回均值 std() #返回標準方差 var() #返回方差 cumprod() #原數(shù)組該位置的前幾項元素乘 (累乘數(shù)組),可以使用axis指定方向,0表示縱向,1表示橫向,默認橫向 cumsum() #原數(shù)組該位置的前幾項元素和 (累加數(shù)組) ptp() #返回最大值減去最小值np的索引和切片
import numpy as npdata = np.arange(12).reshape((3, 4))print(data)##對數(shù)組元素進行索引和切片# 1. 取第一行的數(shù)據(jù)print(data[0])# 2. 取第一列的數(shù)據(jù)print(data.T[0])print(data[:, 1])#3. 獲取多行print(data[:2])# 4. 獲取多行列print(data.T[:2])print(data[:, :2])# 5. 獲取指定行的前幾列;print(data)print(data[[0,2], :2])print(data[:2, [0,2]])
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
