匯入:import numpy as np
生成矩陣:array = np.array([[1,2,3],[4,5,6]])
矩陣維度:array.ndim
矩陣形狀:array.shape
矩陣大小:array.size
矩陣元素型別:array.dtype
a = np.array([1,2,3], dtype=np.int32)
dtype:指定資料型別
矩陣維度:建立時方括號的層數代表矩陣的維度
zero = np.zeros((2, 3))生成兩行三列全為0的矩陣
one = np.empty((2, 3))生成兩行三列全為1的矩陣
empty = np.empty((3, 2))生成三行兩列全為接近於0但不是0的矩陣
e = np.arange(10)此種用法與python中的range類似
h = np.arange(10).reshape(2, 4)重新定義矩陣的形狀
arr1:矩陣1
arr2:矩陣2
加法:arr1 + arr2按位相加
減法:arr1 - arr2按位相減
乘法:arr1 * arr2按位相乘
求冪:arr1 ** arr2按位操作
除法:arr1 / arr2按位相除
取餘:arr1 % arr2按位取餘
取整:arr1 // arr2按位取整
與數的操作:arr1 + 2矩陣中的每位都與2操作
比較操作:arr1 > 3判斷矩陣中那些元素大於3,返回乙個布林型的矩陣
arr1:矩陣1
arr2:矩陣2
矩陣乘法:np.dot(arr1, arr2)/arr1.dot(arr2)
轉置矩陣:arr1.t/np.transpose(arr1)
numpy中生成隨機數
arr1 = np.random.random((3, 2))生成三行兩列從0-1的隨機數
arr2 = np.random.normal(size=(3, 2))生成三行兩列符合標準正態分佈的隨機數
arr3 = np.random.randint((0, 10, size=(3, 2)))生成三行兩列0-10的隨機整數
單個矩陣求和:np.sum(arr1)
單個矩陣對列求和:np.sum(arr1, axis=0)
單個矩陣對行求和:np.sum(arr1, axis=1)
單個矩陣中求最大/最小值:np.max(arr1)/np.min(arr1)
求某個矩陣中最小值/最大值的索引:np.argmin(arr1)/np.argmax(arr1)
求矩陣的平均值:np.mean(arr1)/arr1.mean()
求矩陣中位數:np.median(arr1)
矩陣開方:np.sqrt(arr1)
矩陣排序:np.sort(arr1)對每行進行排序
np.clip(arr1, 2, 7):對於arr1中的元素小於2就變成2,大於7就變成7
a = np.arange(2, 14):與python索引類似,用法可參照python中list用法
多維矩陣:
a[i]:表示第i+1行
a[i][j]:表示第i+1行第j+1列
a[:,j]:表示第j+1列
迭代行
for i in a:
print(i)
迭代列
for i in a.t:
print(i)
迭代元素
for i in a.flat:
print(i)
垂直合併:np.vstack((arr1, arr2))
水平合併:np.hstack((arr1, arr2))
np.concatenate((arr1, arr2),axis=0):可自主指定合併方式,合併的array維度要相同,引數axis=0時縱向合併,引數axis=1時橫向合併。
一維array增加乙個維度:np.newaxis
例項:
arr1 = np.arange(1,4)
arr1_2 = arr1[:,np.newaxis]
arr1_2變成三行一列
arr1_3 = arr1[np.newaxis,:]
arr1_3變成一行三列
np.atleast_2d(arr)/np.atleast_3d(arr):判斷arr是否最少為二維/三維array,如果不是轉換成arr[np.newaxis,:]這種形式
np.split(arr, 2, axis=1):按列分割,分成兩份
np.split(arr, 3, axis=0):按行分割,分成三份
np.array_split(arr, 2, axis=1):按列分割,分成兩份,不等分割
np.array_split(arr, 3, axis=0):按行分割,分成三份,不等分割
np.vsplit(arr, 3):按行分割
np.hsplit(arr, 2):按列分割
淺拷貝:類似值引用,指向同一塊記憶體位址,只要乙個改變大家都會改變
深拷貝:arr.copy() 重新開闢一塊記憶體空間,幾者之間互不影響
NumPy學習總結(一)
這一章節我們將學習如何從數值範圍建立陣列。numpy 包中的使用 arange 函式建立數值範圍並返回 ndarray 物件,函式格式如下 numpy.arange start,stop,step,dtype 根據 start 與 stop 指定的範圍以及 step 設定的步長,生成乙個 ndarr...
numpy用法總結
python的乙個開源的數值計算擴充套件。這種工具可用來儲存和處理大型矩陣,比python自身的巢狀列表 nested list structure 結構要高效的多 該結構也可以用來表示矩陣 matrix 功能 返回數字或陣列的絕對值。若輸入為陣列,則將陣列各元素取絕對值,然後返回取絕對值後的陣列 ...
numpy方法總結
numpy是乙個用python實現的科學計算的擴充套件程式庫,包括 numpy陣列間的基本運算是一對一的,基本就是加減乘除。陣列運算要求兩個資料的形狀相同,當形狀不同的時候,就會自動觸發廣播機制。陣列廣播 當兩個形狀不一樣的陣列進行相加,自動觸發廣播機制。下邊看幾個廣播計算的示意圖 當某乙個陣列的維...