簡體   English   中英

矩陣元素重復錯誤

[英]Matrix element repetition bug

我正在嘗試創建一個矩陣,其內容如下:

[0,1,2]
[3,4,5]
[6,7,8]

但是,我的元素不斷重復。 我該如何解決?

import numpy as np

n = 3
X = np.empty(shape=[0, n])

for i in range(3):
    for j  in range(1,4):
        for k  in range(1,7):
            X = np.append(X, [[(3*i) , ((3*j)-2), ((3*k)-1)]], axis=0)

print(X)

結果:

[[ 0.  1.  2.]
 [ 0.  1.  5.]
 [ 0.  1.  8.]
 [ 0.  1. 11.]
 [ 0.  1. 14.]
 [ 0.  1. 17.]
 [ 0.  4.  2.]
 [ 0.  4.  5.]
 

我不確定您認為您的代碼應該如何工作。 您在每個循環中在X中添加一行,因此 3 * 3 * 7 次,因此最終得到 54 x 3 的矩陣。

我想也許你打算這樣做:

for i in range(3):
  X = np.append(X, [[3*i , 3*i+1, 3*i+2]], axis=0)

正如您所知,通常不鼓勵追加數組(只需創建一個列表列表,然后將其設為一個 numpy 數組)。

你也可以這樣做

>> np.arange(9).reshape((3,3))
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

暫無
暫無

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

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