簡體   English   中英

使用numpy python在空矩陣的特定位置設置值

[英]setting a value in a specific position in an empty matrix using numpy python

我在空的numpy 3D矩陣中設置值時遇到問題,這是我正在使用的代碼的簡化示例

import numpy as np

QMatrix = np.empty(((3,3,3))) # I do not want to use np.zero for a specific reason
QMatrix[0][0][0] = 57
print ("Position Values is " , Qmatrix[0][0][0])

這應該設置值57 @ [0] [0] [0]在矩陣的位置,但是當我打印矩陣時,我得到的只是

Position Value is 5.70000000e+001

但是我想要的是將值設為57

任何幫助都會得到應用。 提前致謝

您必須從

QMatrix = np.empty(((3,3,3)))  

QMatrix = np.empty(((3,3,3)), dtype=int) 

您的腳本將是:

import numpy as np
QMatrix = np.empty(((3,3,3)), dtype=int) #QMatrix = np.empty(((3,3,3))) 
QMatrix[0][0][0] = 57

numpy數組的默認dtype是float64 您可以通過以下方式在代碼中進行驗證

import numpy as np
QMatrix = np.empty(((3,3,3)))
print QMatrix.dtype 

輸出dtype('float64')

因此,如果要使數組為整數類型,則需要在聲明numpy數組時顯式設置dtype

QMatrix = np.empty(((3,3,3)),dtype='int')
print QMatrix.dtype 

輸出dtype('int64')

現在,如果您嘗試分配3-D數組的第一個元素,即QMatrix[0][0][0] = 57 ,它將被存儲為int類型而非float

暫無
暫無

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

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