Numpy 用法總結

1 生成Numpy數組

  • 從已有數據中創建數組
import numpy as np

ls1 = [1,2,3]
nd1 = np.array(ls1)
print(type(nd1))
  • 利用random模塊生成數組
np.random.seed(0)  # 設置隨機數種子
nd = np.random.random([2,2])   # 生成0-1之間的隨機數
nd = np.random.uniform(1,9,[3,3])  # 生成均勻分佈的隨機數
nd = np.random.randint(1,9,[3,3])  # 生成隨機的整數
nd = np.random.normal(0,1,[3,3])  # 生成正太分佈
nd = np.random.randn(10,10)   # 生成正太分佈的隨機數
nd = np.random.shuffle(nd)   # 打亂生成的隨機數
print(nd)

 

  • 創建特定形狀的多維數組
nd = np.zeros((3,3))  # 創建全0的數組
nd = np.ones((3,3))   #創建全1的數組
nd = np.empty((3,4)) # 創建空數組,值爲未初始化的垃圾值

nd = np.zeros_like(nd)
nd = np.ones_like(nd)
nd = np.empty_like(nd)

nd = np.eye(5)  # 創建對角矩陣
nd = np.full((3,4), 666) # 創建全爲666的數組
print(nd)
  • 利用arange、linspace函數生成數組

nd = np.linspace(0,1,10,endpoint=True)
print(nd)
# [0.         0.11111111 0.22222222 0.33333333 0.44444444 0.55555556 0.66666667 0.77777778 0.88888889 1.        ]

 

2 獲取元素

nd = np.random.random([10])
print(nd[3])  # 獲取某個元素
print(nd[2:8])  # 獲取某段數據
print(nd[2:8:2]) # 獲取固定間隔的某段數據

nd = np.arange(25).reshape([5,5])
print(nd[(nd>2)&(nd<5)])  # 獲取數值在一個值域之內的數據

print(nd[1:4,:]) # 截取行數據
print(nd[:,4:7]) # 截取列數據

3 Numpy的算術運算

  • 對應元素相乘

對應元素相乘(Element-Wise Product)是兩個矩陣中對應元素乘積。np.multiply函數用於數組或矩陣對應元素相乘,輸出與相乘數組或矩陣的大小一致。

a = np.random.randn(3,4)
b = np.random.randn(3,4)
c = np.multiply(a,b)
  • 點積運算

點積運算(Dot Product)又稱爲內積,在Numpy用np.dot表示。

a = np.random.randn(3,4)
b = np.random.randn(4,3)
c=np.dot(a,b)

 

4 數組變形

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章