Numpy 向量化運算

2021-08-22 07:13:11 字數 1732 閱讀 6307

1.numpy array與python list

相同點:

*可以通過索引獲取元素。

*遍歷  for x in a:

不同點:

*numpy陣列中各元素都屬於同一型別。

*numpy擁有很多可以使用的函式,如mean() ,std()。

*numpy陣列可以是多維的。

2.運算

a = np.array([1, 2, 3, 4])

b = np.array([1, 2, 3, 4])

兩個numpy陣列的運算

print a + b  #[2 4 6 8]

print a - b #[0 0 0 0]

print a * b #[ 1 4 9 16]

print a / b #[1 1 1 1]

print a ** b #[1 4 27 256]

乘以標量

a*3  #array([ 3,  6,  9, 12])
邏輯運算 

c= np.array([true, true, false, false])

d= np.array([true, false, true, false])

print c & d #[ true false false false]

print c | d #[ true true true false]

print ~c #[false false true true]

print c & true #[ true true false false]

print d & false #[false false false false]

比較操作

e = 2

print a != e

print a > e

print a >= e

print a < e

print a <= e

print a == e

[ true false true true]

[false false true true]

[false true true true]

[ true false false false]

[ true true false false]

[false true false false]

索引陣列

f= np.array([1, 2, 3, 4])

g=np.array([true,true,false,false])

f[g] #array([1, 2])

f[f<3] #array([1, 2])

f[g==true] #array([1, 2])

+ 和+=

#+=改變原有陣列h

h= np.array([1, 2, 3, 4])

i = h

h+=h

print i # [2 4 6 8]

#+ 建立新陣列,不改變h

h= np.array([1, 2, 3, 4])

i = h

h=h+np.array([1, 2, 3, 4])

print i #[1 2 3 4]

機器學習 numpy向量化程式設計

numpy 提供了專門的矩陣資料結構和線性代數庫,完全實現了向量化程式設計 import numpy as np from numpy import mylist 1,2,3,4,5 a 10 mymatrix np.mat mylist print a mymatrix 輸出結果為 10 20 3...

Numpy基礎 陣列與向量化計算

一 多維陣列 1 生成ndarray array函式 1 np.array import numpy as np data1 6,7.5,8,0,1 建立簡單的列表 print data1 arr1 np.array data1 將列表轉化為陣列 print arr1 2 ndarry的資料型別 1...

Numpy學習10 向量化和廣播

我們先看乙個numpy中向量化的例子 a np.arange 1,5 b np.arange 1,5 print a,b,a b 1 234 123 4 2 468 print a i b i for i in range 4 2,4,6,8 c x for x in range 1 5 d x f...