簡體   English   中英

Python Numpy矩陣分配值

[英]Python numpy matrix assign value

我想知道為什么在兩張照片中得到不同的結果? 他們不應該一樣嗎?

    import numpy as np

    x = np.array([[1.5, 2], [2.4, 6]])

    k = np.copy(x)
    for i in range(len(x)):
       for j in range(len(x[i])):
            k[i][j] = 1 / (1 + np.exp(-x[i][j]))
            print("K[i][j]:"+str(k[i][j]))
            print("Value:"+str(1 / (1 + np.exp(-x[i][j]))))

當我運行此腳本時,有2張照片顯示了相同的結果。 這個python是3.5.2。

K[i][j]:0.817574476194
Value:0.817574476194
K[i][j]:0.880797077978
Value:0.880797077978
K[i][j]:0.916827303506
Value:0.916827303506
K[i][j]:0.997527376843
Value:0.997527376843

我剛剛使用python3和python2運行您的代碼,結果絕對相同。 此外,當使用numpy數組時,您不必執行循環,從而可以將許多數據處理任務表示為簡潔的數組表達式,否則可能需要編寫循環。 用數組表達式替換顯式循環的這種做法通常稱為向量化。 通常,向量化數組運算通常會比其純Python等效運算快一個或兩個(或更多)個數量級,在任何類型的數值計算中影響最大。

因此,請牢記所有這些,您可以按照以下方式重寫代碼:

import numpy as np

x = np.array([[1.5, 2], [2.4, 6]], dtype=np.float)
k = 1 / (1 + np.exp(-x))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM