python?numpy庫介紹
1.NumPy( Numeric Python)
numpy是一個開源的python科學計算擴展庫,主要用來處理任意維度數組和矩陣。
相同的任務,使用numpy比直接用python的基本數據結構更加簡單高效。
它的功能:
- 包含一個強大的N維數組對象
Ndarray - 廣播功能函數
- 整合C/C++代碼的工具
- 線性代數、傅里葉變換、隨機數生成等功能
numpy是scipy,pandas等數據處理或科學計算庫的基礎
2.numpy的引用

雖說別名可以省略或者更改,但盡量使用上述約定的別名
3.Ndarray
n維數組,它是一個相同數據類型的集合,以0為下標開始進行集合中元素的索引。
我們知道,python有列表和數組此類的數據結構。
列表:數據類型可以不同(如[3, 2.4 ,‘a’ ,“abc”]),數據是有序的
數組:數據類型相同(如[1,2,3,4])
集合: (如{2,4,3,5,7})數據是無序的
引入n維數組的意義
觀察下列兩組操作,其功能都是一樣的。
import numpy as np
def pysum():
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = []
for i in range(len(a)):
c.append(a[i]**2+b[i]**3)
return c
def numpysum():
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
c = a**2+b**3
return c
print("使用列表運算的結果是:", pysum())
print("使用Numpy運算的結果是:", numpysum())
運行結果:
使用列表運算的結果是: [126, 220, 352, 528]
使用Numpy運算的結果是: [126 220 352 528]
但是很明顯:
numpy的數組對象可以去掉元素建運算所需要的循環(huán),使一維向量更像單個數據numpy通過設立專門的數組對象,經過優(yōu)化,運算速度也相應提升
通常情況下,在科學運算中,一個維度所有數據的類型往往相同,這時,使用數組對象采用相同的數據類型,有助于節(jié)省運算時間和存儲空間
ndarray的組成
- 實際的數據
- 描述這些數據的元數據(數據維度、數據類型等)

ndarray對象的屬性

3.數據類型


當np.array()不指定dtype時,numpy將根據數據情況關聯一個dtype類型
ndarray支持多種數據類型的原因python基本語法只支持整數、浮點數和復數3種類型- 科學計算涉及數據較多,對存儲和性能都有較高要求
- 對元素類型精細定義,有助于
numpy合理使用存儲空間并優(yōu)化性能 - 對元素類型精細定義,有助于程序員對程序規(guī)模有合理評估
ndarray數組的創(chuàng)建
import numpy as np x = np.array([[1, 0], [2, 0], [3, 1]], np.int32) print(x) print(x.dtype)
程序輸出:
[[1 0]
[2 0]
[3 1]]
int32



adarray數組的變換

ndarray數組運算


4.索引與切片
- 索引:獲取數組中特定位置元素的過程
- 切片:獲取數組元素子集的過程


5.隨機數函數



6.統(tǒng)計函數



7.梯度函數


8.副本與視圖
numpy線性代數
數組與標量之間的運算

常用numpy.linalg函數總結

(好家伙,numpy內置函數太多了…)
相關文章
自己搭建resnet18網絡并加載torchvision自帶權重的操作
這篇文章主要介紹了自己搭建resnet18網絡并加載torchvision自帶權重的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

