一、np.logspace()函數
1、np.logspace()函數可以用於創建一些等比數列,其實現機制和np.linspace()基本相同,只是在np.logspace()中可以指定我們希望的數列的起始值和終止值,同時還需要指定我們需要的數列的長度,具體的用法如下所示:
import numpy as np # 創建等比數列,並指定長度為5 a = np.logspace(start=1, stop=2, num=5) print(a) # [ 10. 17.7827941 31.6227766 56.23413252 100. ]
2、在創建的等比數列中每個元素的值都是以10為底數的冪,可以看出上面的代碼其實就是創建了在10~100之間包括兩端的一個長度為5的等比數列。
二、np.log能直接對列向量
1、np.log()是表示對數函數中用十分廣泛的一種函數,它可以自己計算該輸入值的對數以及其他一些相關的計算,尤其在研究對數函數相關應用具有十分重要的作用。與此同時,我們可以發現在使用np.log()函數的時候,它是可以直接對列向量進行運算的,同時也可以用作在矩陣中對每一個對應的元素進行計算。下面的代碼中展示了這種用法,我們可以發現我們直接對數組a中的每一個元素進行了np.log()函數的運算:
import numpy as np a = np.arange(1, 6) print(a) # [1 2 3 4 5] # 對a中的每個元素取對數 b = np.log(a) print(b) # [0. 0.69314718 1.09861229 1.38629436 1.60943791]
2、上述代碼中創建了一個長度為5的行向量a,然後直接對它進行了np.log()函數的運算,得到了相應的結果b,輸出結果如上所示。
三、np.log1p是什麼函數
1、np.log1p是指當輸入值很小的時候這個函數可以返回比np.log(1 + x)更為精確的結果,同時在輸入值為很小的時候可以保持更高的數值精度,其函數原型如下所示:
numpy.log1p(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
2、下面的代碼可以幫助我們驗證np.log1p()函數的正確性:
import numpy as np a = 1e-6 b = np.log(1+a) c = np.log1p(a) print(b) # 9.999995000001666e-07 print(c) # 9.999995000004999e-07
3、上述代碼中我們定義了一個非常小的數值a,在使用np.log()函數和np.log1p()函數的時候可以發現它們的返回結果是非常接近的,另外對於這個函數的運用,它在很多模型中都會有特定的作用。
四、np.log默認底數
1、在使用np.log()函數之前需要注意,它是以自然數e為底數的對數函數,以2為底數的對數函數需要用np.log2()函數替代,用法和其他的np.log()函數基本相同。
五、np.logspace函數用法
1、我們已經介紹了很多關於np.logspace()函數的內容,但是在很多實際應用中,我們還可以直接用這個函數來實現在不同的數量級之間的數據的展示。下面是一個簡單的例子方便我們更好地理解:
import numpy as np x = np.logspace(-1, 1, 40) y = np.exp(x) import matplotlib.pyplot as plt plt.plot(x, y) plt.show()
2、上述代碼中,我們定義了兩個向量x和y,然後使用了np.logspace()函數來生成等比數列,最終將生成的數據進行展示,得到的圖像也很直觀。
六、np.logical_and()函數作用
1、在實際的編程過程中,我們還可以使用各種np.開頭的函數來幫助我們快速的處理一些複雜的計算問題。例如在設計邏輯運算式的時候,可以使用np.logical_and()函數來實現與運算,並且該函數的大部分參數都是支持數組的,方便我們進行批處理。下面是一個彎路的例子方便我們理解:
import numpy as np # 創建兩個向量 a = np.array([1, 2, 3]) b = np.array([3, 2, 1]) # 定義一個條件 cond = np.logical_and(a>1, b<2) # 輸出符合條件的元素 print(a[cond]) # [2]
2、上述代碼中我們創建了兩個長度為3的列向量,然後使用了np.logical_and()函數對其進行運算,得到了一個布爾型的向量,最終輸出了符合該條件的元素。
七、np.logical_or()函數作用
1、與前面介紹的函數類似,np.logical_or()函數可以用來實現邏輯運算中的或運算,具體的用法如下所示:
import numpy as np # 創建兩個向量 a = np.array([1, 2, 3]) b = np.array([3, 2, 1]) # 定義一個條件 cond = np.logical_or(a>2, b<2) # 輸出符合條件的元素 print(a[cond]) # [1 3] print(b[cond]) # [3 1]
2、從上面的代碼中我們可以看到,定義的這個條件是要麼a[i]>2,要麼b[i]<2,由於對長度為3的向量進行的計算,所以最終得到的結果就是分別輸出了滿足條件的a和b的元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/307376.html