import numpy as np
對應元素進行四則運算
a = np.arange(3,8)
b = np.arange(1,6)
print("a=",a)
print("b=",b)
print("a+b=",a+b)
print("a-b=",a-b)
print("a/b=",a/b)
print("a*b=",a*b)
a= [3 4 5 6 7]
b= [1 2 3 4 5]
a+b= [ 4 6 8 10 12]
a-b= [2 2 2 2 2]
a/b= [ 3. 2. 1.66666667 1.5 1.4 ]
a*b= [ 3 8 15 24 35]
關於矩陣乘法
對應元素進行比較
a = np.arange(3,8)
b = np.arange(1,6)
a==b
array([false, false, false, false, false], dtype=bool)
陣列比較
np.array_equal(a,b)
false
any函式與all函式
a = np.array([1,3,2,5,7])
b = np.array([1,2,3,7,5])
print(a==b)
print(np.any(a==b)) # 存在乙個true,則返回true
print(np.all(a==b)) # 所有全為true,則返回true
[ true false false false false]
true
false
比較兩陣列是否相近(往往是同乙個陣列由於計算精度不同所有略有差別)
a = np.array([[1.,1.,1.],
[2.,2.,2.],
[3.,3.,3.]])
b = a.copy()
b[0,0] = 0.99999
print("a=",a)
print("b=",b)
print(np.allclose(a,b))
a= [[ 1. 1. 1.]
[ 2. 2. 2.]
[ 3. 3. 3.]]
b= [[ 0.99999 1. 1. ]
[ 2. 2. 2. ]
[ 3. 3. 3. ]]
true
python中的and、or、not等關鍵字無法被過載,因此numpy提供了額外的函式:np.logical_and、np.logical_not、np.logical_or、np.logical_xor
a = np.arange(5)
b = np.arange(4,-1,-1)
print(a)
print(b)
print(np.logical_or(a==b,a > b))
[0 1 2 3 4]
[4 3 2 1 0]
[false false true true true]
位運算子&、|、~、^等價於布林運算,其可以進行過載,因此可以直接應用於numpy陣列
(a==b)|(a>b)
array([false, false, true, true, true], dtype=bool)
print(np.arange(5))
print(~np.arange(5)+1)#按位「取反加1」得到負數的補碼
[0 1 2 3 4]
[ 0 -1 -2 -3 -4]
NumPy 基本運算
在原文基礎上適當精簡並更正少量原作者的筆誤 基本運算 1.陣列的算術運算是按元素的。新的陣列被建立並且被結果填充 a array 20,30,40,50 b arange 4 b array 0,1,2,3 c a b c array 20,29,38,47 b 2 x.2 array 0,1,4,...
基本運算 NumPy
陣列的算術運算是按元素的。新的陣列被建立並且被結果填充。a array 20,30,40,50 b arange 4 b array 0,1,2,3 c a b c array 20,29,38,47 b 2 array 0,1,4,9 10 sin a array 9.12945251,9.880...
Numpy陣列運算
import numpy as np arr1 np.array 1,2,3 4,5,6 arr2 np.array 1,1,2 2,3,3 print arr1 print arr2 print arr1 arr2 兩個陣列的同位置元素相加 print arr1 arr2 兩個陣列的同位置元素相減...