對numpy中的where方法嵌套使用詳解
如同for循環(huán)一樣,numpy中的where方法可以實(shí)現(xiàn)嵌套功能。這是簡化嵌套式矩陣邏輯的一個(gè)很好的方法。
假設(shè)有一個(gè)矩陣,需要把小于0的元素改成-1,大于0的元素改成1,而等于0的時(shí)候不做修改。
那么,對應(yīng)的代碼示范如下:
#!/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í)行結(jié)果如下:
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]]
這種用法,不僅比單純通過復(fù)合的循環(huán)遍歷實(shí)現(xiàn)的代碼更加簡潔,而且在執(zhí)行效率上有著很大的優(yōu)勢。很多時(shí)候,計(jì)算的向量化就是為了能夠加速整個(gè)程序的執(zhí)行速度。
以上這篇對numpy中的where方法嵌套使用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入了解Python?Opencv數(shù)據(jù)增強(qiáng)
常見的數(shù)據(jù)增強(qiáng)操作有:按比例放大或縮小圖片、旋轉(zhuǎn)、平移、水平翻轉(zhuǎn)、改變圖像通道等。本文將通過Python?OpenCV實(shí)現(xiàn)這些操作,需要的可以參考一下2022-02-02
Tensorflow中TFRecord生成與讀取的實(shí)現(xiàn)
TFRecord格式的文件存儲(chǔ)形式會(huì)很合理的幫我們存儲(chǔ)數(shù)據(jù),本文主要介紹了Tensorflow中TFRecord生成與讀取的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
python+selenium實(shí)現(xiàn)12306模擬登錄的步驟
這篇文章主要介紹了python+selenium實(shí)現(xiàn)12306模擬登錄的步驟,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
詳解python路徑拼接os.path.join()函數(shù)的用法
os.path.join()函數(shù):連接兩個(gè)或更多的路徑名組件。這篇文章主要介紹了python路徑拼接os.path.join()函數(shù)的用法,需要的朋友可以參考下2019-10-10
通過Python編程將CSV文件導(dǎo)出為PDF文件的方法
CSV文件通常用于存儲(chǔ)大量的數(shù)據(jù),而PDF文件則是一種通用的文檔格式,便于與他人共享和打印,將CSV文件轉(zhuǎn)換成PDF文件可以幫助我們更好地管理和展示數(shù)據(jù),本文將介紹如何通過Python編程將CSV文件導(dǎo)出為PDF文件,需要的朋友可以參考下2024-06-06
Python??序列化反序列化和異常處理的問題小結(jié)
這篇文章主要介紹了Python?序列化反序列化和異常處理,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12

