numpy基础(part8)--符号数组与矢量化
生活随笔
收集整理的這篇文章主要介紹了
numpy基础(part8)--符号数组与矢量化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鄙人學習筆記,這個筆記以例子為主。
開發工具:Spyder
文章目錄
- 符號數組
- 數組處理函數
- 矢量化
符號數組
sign()函數可以把樣本數組變成對應的符號數組,正數為1,負數為-1,0為0.
相關函數:
np.sign(源數組)- 例子
代碼:
import numpy as npary01 = np.array([-1, -2, 0, 4, 0, 7]) ary02 = np.sign(ary01)print('ary02:', ary02)結果:
ary02: [-1 -1 0 1 0 1]數組處理函數
相關函數:
目標數組 = np.piecewise(源數組, 條件序列, 取值序列)針對源數組中的每一個元素,檢測其是否符合條件序列中的條件,符合哪個條件就用取值序列中與之對應的值,來表示該元素,并放到目標數組中返回。
- 例子
代碼:
import numpy as npary01 = np.array([-1, -2, 0, 4, 0, 7]) ary02 = np.piecewise(ary01, [ary01 < 0, ary01 == 0, ary01 > 0],[-1, 0, 1])print('ary02:', ary02)結果:
ary02: [-1 -1 0 1 0 1]矢量化
矢量化是指用數組代替標量,來操作數組中的每一個元素
numpy提供了vectorize()函數,該函數可以把處理標量的函數矢量化,它的返回值是一個可以直接處理ndarray數組的函數。
- 例子
代碼:
import numpy as np#處理標量的函數 def fun01(a, b):return a*b - 1ary01 = np.arange(3, 9).reshape(2, 3) ary02 = np.arange(4, 10).reshape(2, 3)#矢量化函數 fun01_vec = np.vectorize(fun01) print(fun01_vec(ary01, ary02))結果:
[[11 19 29][41 55 71]]總結
以上是生活随笔為你收集整理的numpy基础(part8)--符号数组与矢量化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: D-Link DIR-822 无线路由器
- 下一篇: numpy基础(part9)--矩阵