为何numpy的asmatrix移除元素间逗号并将矩阵转为一维?
关于numpy.asmatrix的两个常见误解解释
1. 元素间逗号消失只是打印格式差异
原生Python列表打印时会用逗号分隔元素,而numpy的matrix对象默认用空格分隔元素输出,这只是numpy的显示格式设定,矩阵内部的元素结构、维度完全没有变化。
2. 列维度并未变为1(附验证代码)
你看到的输出换行只是numpy为了可读性自动调整的显示效果,实际矩阵仍是3行3列的结构。可以通过以下代码验证:
import numpy as np W = [[-4, -3, -2], [6, 0, -1], [2, 1, 3]] W_matrix = np.asmatrix(W) # 查看矩阵形状 print("矩阵形状:", W_matrix.shape) # 查看第一行(3个元素) print("第一行:", W_matrix[0]) # 查看第一列(3个元素) print("第一列:", W_matrix[:, 0])
运行后会输出:
矩阵形状: (3, 3) 第一行: [[-4 -3 -2]] 第一列: [[-4] [ 6] [ 2]]
明确显示矩阵是3行3列,不存在列维度为1的情况。
内容的提问来源于stack exchange,提问作者Michelle
相关产品推荐
相关产品推荐

