簡體   English   中英

替換numpy數組中的元素

[英]Replacing elements in numpy array

import numpy as np

a = np.array([0.75, 0.5, 0.21])
one_list = [1] * 3
L_vec = np.diag(one_list)
L_vec[1,0] = a[0]
print(L_vec)

預期結果:

[[1,0,0],[0.75,1,0],[0,0,1]]

實際結果:

[[1 0 0]
 [0 1 0]
 [0 0 1]]

這是我得到的結果。 我不知道為什么。

默認情況下, np.diagint

將其轉換為float以便數組a浮點值可以替換舊值

L_vec = L_vec.astype(float)

使用下面的代碼

a = np.array([0.75, 0.5, 0.21])
one_list = [1]*3
L_vec = np.diag(one_list)
L_vec = L_vec.astype(float)

L_vec[1,0] = a[0]
print(L_vec)

輸出:

[[1.   0.   0.  ]
 [0.75 1.   0.  ]
 [0.   0.   1.  ]]

您可以使用print(L_vec.dtype)檢查數據類型

暫無
暫無

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

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