国产无遮挡无码视频免费软件,国产精品久久久久久久妇,国产精品久久久久久久久鸭无码,国产成人一区二区三区影院动漫,国产精品久久久久久久妇

教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

大數據培訓:將條件邏輯轉為數組運算

更新時間:2022年09月26日15時07分 來源:傳智教育 瀏覽次數:

好口碑IT培訓

  NumPy數組可以將許多數據處理任務轉換為簡潔的數組表達式,它處理數據的速度要比內置的Python循環(huán)快了至少一個數量級,所以,我們把數組作為處理數據的首選。接下來,本節(jié)重點講下將條件邏輯轉為數組運算。

  Numpy的where()函數是三元表達式x if condition else y的矢量化版本。

  假設有兩個數值類型的數組和一個布爾類型的數組,具體如下:

In [98]: arr_x=np.array([1, 5, 7])
In [99]: arr_y=np.array([2, 6, 8])
In [100]: arr_con=np.array([True, False, True])

  現在提一個需求,即當arr_con的元素值為True時,從arr_x數組中獲取一個值,否則從arr_y數組中獲取一個值。使用where()函數實現的方式如下所示。

In [101]: result=np.where(arr_con, arr_x, arr_y)
In [102]: result
Out[102]: array([1, 6, 7])

  上述代碼中調用np.where()時,傳入的第1個參數arr_con表示判斷條件,它可以是一個布爾值,也可以是一個數組,這里傳入的是一個布爾數組。

  當滿足條件(從arr_con中取出的元素為True)時,則會獲取arr_x數組中對應位置的值。由于arr_con中索引為0、2的元素為True,所以取出arr_x中相應位置的元素1、7。

  當不滿足條件(從arr_con中取出的元素為False)時,則會獲取arr_y數組中對應位置的值。由于arr_con中索引為1的元素為False,所以取出arr_y中相應位置的元素6.

  從輸出結果可以看出,使用where()函數進行數組運算后,返回了一個新的數組。

0 分享到:
和我們在線交談!