繁体   English   中英

如何在Python中创建矩阵或将2D数组转换为矩阵?

[英]How can I create a matrix, or convert a 2D array into matrix in Python?

我希望能够从Python的2D数组中提取一行或一列,以便保留2D形状并可以用于矩阵乘法。 但是,我在文档中找不到如何最好地做到这一点。 例如,我可以使用

a = np.zeros(shape=(6,6)) 

创建数组,但是a [:,0]的形状为(6,),我无法将其乘以形状的矩阵(6,1)。 我是否需要为每个矩阵乘法将数组的行或列重塑为矩阵,还是有其他方法可以进行矩阵乘法?

您可以直接使用np.matrix

>>> a = np.zeros(shape=(6,6)) 
>>> ma = np.matrix(a)
>>> ma
matrix([[ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.]])
>>> ma[0,:]
matrix([[ 0.,  0.,  0.,  0.,  0.,  0.]])

或者您可以使用np.newaxis添加尺寸

>>> a[0,:][np.newaxis, :]
array([[ 0.,  0.,  0.,  0.,  0.,  0.]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM