numopy學習筆記

2021-10-07 18:48:10 字數 2841 閱讀 4802

numpy 的屬性: shape(陣列維度的元組)、ndim(陣列維數)、size(陣列元素數量)、itemsie(乙個陣列元素的長度位元組)、dtype(元素型別)

建立陣列指定型別:

np.array([1.1,2.2,3.3], dtype = 『float32』)

3.3.1生成陣列

生成0和1

np.zeros(shape=[ , ], dtype=" ")

np.ones(shape)

從現有陣列中生成

np.array() 深拷貝

np.copy() 深拷貝

np.asarray() 淺拷貝

生成固定範圍的陣列

np.linspace(0, 10, 100) 生成[0,10] 等距100個元素

np.arange(a, b, c) 生成[a, b) c是步長

生成隨機數組

np.random模組

均勻分布:每組可能性相等

np.random.rand(d0,d1,…,dn):返回[0.0, 1.0)內的一組均勻分布的數。

np.random.uniform(low=0.0,high=1.0,size=none)

low:取樣下界,float,預設0

high:上界,float,預設1

size:輸出樣本數目,為int或tuple元組型別,例如,size=(m,n,k),則輸出mnk個樣本,預設時輸出1個值

返回值:ndarray型別,其形狀和引數size中描述一直

np.random.randint(low, high=none,size=none, dtype=『i』):從乙個均勻分布中隨機取樣,生成乙個整數或n維陣列,取數范文:若high不none時,取lowhigh之間隨機整數,否則取0low之間隨機整數

正態分佈:概率分布。μ=0,thegma=1時標準正態分佈

np.random.normal(loc=0.0, scale=1.0,size=none)

loc:float 此概率分布均值

scale:float 此概率分布的標準差,對應分布寬度,scale越大越矮胖,越小越瘦高

size:int or tuple of ints,輸出的shape,預設為none,只輸出乙個值

np.random.standard_normal(size = none)

返回指定形狀的標準正態分佈的陣列。

3.3.2陣列的索引切片

3.3.3形狀修改

ndarray.reshape() 返回新的adarray,原始資料沒有改

adarray.resize(shape) 沒有返回值,對原始ndarray進行了修改

ndarray.t 轉置,行變列,列變行

3.3.4型別修改

ndarray.astype(type)

ndarray.astype(「int32」)

ndarray序列化到本地

ndarray.tostring()

3.3.5陣列去重

ndarray.unique()

不能直接用set函式,如果要用,可先用flatten函式拍扁為一維再使用。如圖

ndarray運算

邏輯運算

布林索引

例:通用判斷函式

np.all(布林值)

只要有乙個false就返回false,只有全是true才返回true

np.any()

只要有乙個true就返回true,只有全是false才返回false

三元運算子np.where

np.where(布林值,true位置的值,false位置的值)

統計運算

統計指標函式

min, max, mean, median, var, std(標準差)

np.函式名

axis=1和axis=-1是一樣的索引,不同庫可能不同,最保險還是都試一試

返回最大值、最小值所在位置

np.argmax()

np.armin()

陣列間運算

場景:計算學生平時成績和期末成績求出最終成績

陣列與數的運算

陣列與陣列的運算

廣播機制:執行broadcast的前提在於,兩個ndarray執行的是element-wise的運算,broadcast機制的功能是為了方便不同形狀的ndarray(numpy庫的核心資料結構)進行數**算

當操作兩個陣列時,numpy會諸葛比較他們的shape,只有在維度相等,shape(其中相對應的乙個地方為1)時才能夠進行陣列與陣列的運算。例如

矩陣運算

兩種方法儲存矩陣

1.ndarray 二維陣列

np.matmul()

np.dot()

data_arry @ weights

2.matrix

data_mat * wights_mat

矩陣的乘法運算:

形狀:(m, n)*(n, l) = (m, l)

合併、分割:

合併:np.hstack() 水平拼接

np.vstack()豎直拼接

np.concatenate():即可水平拼接也可豎直拼接

分割:numpy.split(ary, indices_or_section, axis=0) split an array into multiple sub_arrays

io操作和資料處理

numpy讀取:np.genfromtxt(』****.csv』, delimiter=",")

存在缺失值nan一般不用numpy讀取。

如何處理缺失值:

1.直接刪除含有缺失值樣本資料

2.替換或插補法,樣本資料少時,可以按列算平均值來替換

處理邏輯:

學習筆記 雜湊學習筆記

hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...

學習筆記 CentOS 學習筆記01

簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...

筆記 spring cloud 學習筆記

1 spring cloud 是什麼 spring cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具 例如配置管理,服務發現,斷路器,智慧型路由,微 控制匯流排 分布式系統的協調導致了樣板模式,使用spring cloud開發人員可以快速地支援實現這些模式的服務和應用程式。他們將在任...