NumPy 助你處理數學問題:計算序列的差分用`np.diff()`,示例返回`[5, 10, -20]`;找最小公倍數(LCM)用`np.lcm()`,數組示例返回`18`;最大公約數(GCD)用`np.gcd.reduce()`,數組示例返回`4`;三角函數如`np.sin()`,`np.deg... ...
NumPy 差分
離散差分意味著相鄰元素之間的減法。
例如,對於 [1, 2, 3, 4]
,離散差分將是 [2-1, 3-2, 4-3] = [1, 1, 1]
要找到離散差分,使用 diff()
函數。
示例:
import numpy as np
arr = np.array([10, 15, 25, 5])
newarr = np.diff(arr)
print(newarr)
返回:[5 10 -20]
,因為 15-10=5
,25-15=10
,5-25=-20
我們可以通過給出參數 n
來重覆執行此操作。
例如,對於 [1, 2, 3, 4]
,n = 2
時,離散差分將是 [2-1, 3-2, 4-3] = [1, 1, 1]
,然後,由於 n=2
,我們將再次執行一次,得到新結果:[1-1, 1-1] = [0, 0]
示例
對以下數組進行兩次離散差分:
import numpy as np
arr = np.array([10, 15, 25, 5])
newarr = np.diff(arr, n=2)
print(newarr)
返回:[5 -30]
,因為:15-10=5
,25-15=10
,5-25=-20
,而 10-5=5
和 -20-10=-30
NumPy 最小公倍數(LCM)
最小公倍數是兩個數的最小公倍數。
示例:
import numpy as np
num1 = 4
num2 = 6
x = np.lcm(num1, num2)
print(x)
返回:12
,因為這是這兩個數的最小公倍數(4*3=12
和 6*2=12
)。
在數組中找到最小公倍數
要找到數組中所有值的最小公倍數,可以使用 reduce()
方法。
reduce()
方法將對每個元素使用 ufunc,在本例中是 lcm()
函數,並將數組減少一個維度。
示例
找到以下數組值的最小公倍數:
import numpy as np
arr = np.array([3, 6, 9])
x = np.lcm.reduce(arr)
print(x)
返回:18
,因為這是所有三個數的最小公倍數(3*6=18
,6*3=18
和 9*2=18
)。
示例
找到包含從 1
到 10
的所有整數的數組中所有值的最小公倍數:
import numpy as np
arr = np.arange(1, 11)
x = np.lcm.reduce(arr)
print(x)
NumPy 最大公約數(GCD)
最大公約數(GCD,也稱為 HCF,即最高公因數)是兩個數的最大公共因數。
示例:
import numpy as np
num1 = 6
num2 = 9
x = np.gcd(num1, num2)
print(x)
返回:3
,因為這是兩個數都可以被整除的最大數(6/3=2
和 9/3=3
)。
在數組中找到最大公約數
要找到數組中所有值的最大公約數,可以使用 reduce()
方法。
reduce()
方法將對每個元素使用 ufunc,在本例中是 gcd()
函數,並將數組減少一個維度。
示例
找到以下數組中所有數字的最大公約數:
import numpy as np
arr = np.array([20, 8, 32, 36, 16])
x = np.gcd.reduce(arr)
print(x)
返回:4
,因為這是所有值都可以被整除的最大數。
NumPy 三角函數
NumPy 提供了 sin()
、cos()
和 tan()
等 ufunc,它們接受弧度值並生成相應的正弦、餘弦和正切值。
示例:
import numpy as np
x = np.sin(np.pi/2)
print(x)
示例
找到數組 arr
中所有值的正弦值:
import numpy as np
arr = np.array([np.pi/2, np.pi/3, np.pi/4, np.pi/5])
x = np.sin(arr)
print(x)
將角度轉換為弧度
預設情況下,所有的三角函數都接受弧度作為參數,但是在 NumPy 中我們也可以將弧度和角度相互轉換。
註意:弧度值是 pi/180
乘以角度值。
示例
將以下數組 arr
中的所有值轉換為弧度:
import numpy as np
arr = np.array([90, 180, 270, 360])
x = np.deg2rad(arr)
print(x)
將弧度轉換為角度
示例
將以下數組 arr
中的所有值轉換為角度:
import numpy as np
arr = np.array([np.pi/2, np.pi, 1.5*np.pi, 2*np.pi])
x = np.rad2deg(arr)
print(x)
查找角度
從正弦、餘弦、正切值查找角度。例如,sin、cos 和 tan 的反函數(arcsin、arccos、arctan)。
NumPy 提供了 arcsin()
、arccos()
和 arctan()
等 ufunc,它們給出相應 sin、cos 和 tan 值的弧度值。
示例
找到 1.0
的角度:
import numpy as np
x = np.arcsin(1.0)
print(x)
數組中每個值的角度
示例
找到數組中所有正弦值的角度:
import numpy as np
arr = np.array([1, -1, 0.1])
x = np.arcsin(arr)
print(x)
斜邊
在 NumPy 中使用勾股定理找到斜邊。
NumPy 提供了 hypot()
函數,它接受底邊和垂直邊的值,並根據勾股定理生成斜邊。
示例
找到底邊為 4
,垂直邊為 3
的斜邊:
import numpy as np
base = 3
perp = 4
x = np.hypot(base, perp)
print(x)
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎點贊、收藏、關註