對numpy中的where方法嵌套使用詳解
如同for循環(huán)一樣,numpy中的where方法可以實現(xiàn)嵌套功能。這是簡化嵌套式矩陣邏輯的一個很好的方法。
假設有一個矩陣,需要把小于0的元素改成-1,大于0的元素改成1,而等于0的時候不做修改。
那么,對應的代碼示范如下:
#!/usr/bin/python
import numpy as np
data = np.random.randn(4,5)
data1 =np.where(data > 0,1,
np.where(data <0,-1,0))
print("datavalue:")
print(data)
print("data1value:")
print(data1)
程序的執(zhí)行結果如下:
In [3]: %runpython_exp04.py data value: [[-2.06262429 0.94548656 -0.29458562 0.82657 -1.08587439] [-0.67416161 0.77247191 0.60330603 0.73694198 -0.63761278] [ 0.24887356 -0.27086027 0.34312363 0.727303 0.72741593] [-0.48973095 -0.33185631 -1.23341695 0.13569267 2.06881178]] data1 value: [[-1 1 -1 1-1] [-1 1 1 1 -1] [ 1 -1 1 1 1] [-1 -1 -1 1 1]]
這種用法,不僅比單純通過復合的循環(huán)遍歷實現(xiàn)的代碼更加簡潔,而且在執(zhí)行效率上有著很大的優(yōu)勢。很多時候,計算的向量化就是為了能夠加速整個程序的執(zhí)行速度。
以上這篇對numpy中的where方法嵌套使用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
深入了解Python?Opencv數(shù)據(jù)增強
常見的數(shù)據(jù)增強操作有:按比例放大或縮小圖片、旋轉、平移、水平翻轉、改變圖像通道等。本文將通過Python?OpenCV實現(xiàn)這些操作,需要的可以參考一下2022-02-02
Tensorflow中TFRecord生成與讀取的實現(xiàn)
TFRecord格式的文件存儲形式會很合理的幫我們存儲數(shù)據(jù),本文主要介紹了Tensorflow中TFRecord生成與讀取的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05
python+selenium實現(xiàn)12306模擬登錄的步驟
這篇文章主要介紹了python+selenium實現(xiàn)12306模擬登錄的步驟,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
詳解python路徑拼接os.path.join()函數(shù)的用法
os.path.join()函數(shù):連接兩個或更多的路徑名組件。這篇文章主要介紹了python路徑拼接os.path.join()函數(shù)的用法,需要的朋友可以參考下2019-10-10

