Numpy陣列的基本運算

2021-08-21 15:47:55 字數 2306 閱讀 9497

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 兩個陣列的同位置元素相減...