import numpy as np
""" np.array(,dtype = ):
---- 在小括號中新增所要構建的陣列:
---- 每多新增一層中括號''陣列的維數上公升一維
---- dtype為陣列中資料的型別
np.arange(num) == np.array(range(num)):
獲得num範圍內的數並將其構造出一維的ndarray陣列
np.round(ndarray,n):
對陣列中的所有元素取n位小數並返回該陣列
np.where(condition(ex:a > num) , val1,val2):
更新陣列中的值,將陣列中滿足condition中的值更新為val1,將不滿足的元素更新為val2
np.nan:
屬性操作,返回nan
np.vstack(obj1,obj2):
將obj1和obj2進行豎直拼接
np.hstack(obj1,obj2):
將obj1和obj2進行水平拼接
np.argmax(obj.axis = 0/1):
獲取按行或按列的陣列最大值
np.argmin(obj.axis = 0/1):
獲取按行或按列的陣列最小值
np.zeros(num):
獲取num階的全零矩陣
np.ones(n):
獲取n階全1矩陣
np.eye(n):
獲取n階單位矩陣(對角線位置為1其餘位置為0)
np.random.rand(n):
建立n維隨機數陣列,元素範圍為0~1
np.random.randn(n):
建立n維的正態分佈陣列
np.random.randint(min,max,(shape)):
建立範圍為min~max的隨機數組,形狀為shape型
np.random.random.seed(s):
設定隨機數種子,種子相同,獲得的隨機數相同
np.median(axis):
求陣列的中值
object.std(axis = 0/1):
求出陣列的各個維度的標準差
object.sum(axis = 0/1):
將obj按行或列進行求和
object.mean(axis = 0/1):
對obj進行按行或按列求平均
object.max(axis = 0/1):
求出陣列的最大值
object.t:
屬性操作,進行obj的轉置
object.i:
屬性操作,對obj求逆矩陣
object.reshape(n,m):
將object重構成n行m列的陣列
object.flatten():
將object陣列進行展開,壓縮成一維陣列即shape = (n,)形式,即乙個中括號形式
object(class ndarray) +-*/ 實數/陣列:
①對object陣列中的所有元素進行相應的運算
②兩個object的陣列的對應位置進行相應的計算
③若兩個陣列形狀不同,則其在相同的維度上進行計算,若沒有任一相同的維度,則無法進行計算:
ex:a = np.arange(6).reshape(2,3)
b = np.array([1,2,3])
c = a - b
則c的結果為a陣列的每一行減去b陣列
object.astype(type(int,float...)):
將object陣列中的元素轉換為指定型別的元素
object.clip(a,b):
將object中小於a的值更新為a,將大於b的值更新為b
ndarray切片操作:
1.獲取連續多行:object[n:m,:]
2.獲取不連續多行:object[[a,b,c,d],:]
3.獲取連續多列:object[:,n:m]
4.獲取不連續多列:object[:,[a,b,c,d]]
5.獲取指定位置元素: object[n,m] ----獲取第n + 1行第m + 1列元素
6.取多個元素: object[[x1,y1] , [x2,y2] , [x3,y3]]--->使用中括號進行取行取列時,只取中括號內部的乙個值
7.行交換/列交換:obj[[a,b],:] = obj[[b,a],:]--->a,b行進行交換,列交換同理
tips:
切片和a = b等都是淺拷貝,均屬於記憶體共享機制
a = b.copy()此外深拷貝,使得a和b互補影響
布林索引:
object[object > num]:返回object中滿足中括號條件的值,即返回使得中括號中條件為真的值
random庫:
random.random():獲取0~1的隨機數
round(num,n):對num保留小數點後n位有效陣列
nan操作:
出現原因:
①資料缺失
②出現不恰當的計算時
特性:①兩個nan不相等
②因為nan != nan所以利用該特點計算nan的個數:
ex:np.count_nonzero(obj != obj)/np.count_nonzero(!np.isnan(obj))
np.isnan(obj):將obj含有nan的項更新為true
③nan和任何值計算都為nan
"""
NumPy學習筆記(1) NumPy庫簡介
這兩年python特別火,在一些it 上轉一圈各處都能看到關於python的技術類文章,引用官方的說法 python就是 一種解釋型的 物件導向的 帶有動態語義的高階程式語言 等方面。我是因為搞深度學習開始接觸python的,之前學的c 在遇見python後簡直開啟了新世界的大門,碼 的幸福感簡直爆...
Numpy學習筆記
測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...
numpy學習筆記
1 array.ndim 用來輸出陣列的維度 2 array.shape 用來輸出陣列的形狀 3 arry.size 用來輸出陣列的大小見jupyter notebook的numpy function list 生成函式基本運算 直接用陣列的相加減乘除。也就是相對應的元素間的作用。關係運算 陣列元素...