繁体   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