如何在Python中找到矩阵的维数?
如何在Python中找到矩阵的维数。Len(A)只返回一个变量 编辑:如何在Python中找到矩阵的维数?,python,matrix,Python,Matrix,如何在Python中找到矩阵的维数。Len(A)只返回一个变量 编辑: 是(我假设)生成一个整数矩阵(不太可能是字符串)。我需要找到矩阵的大小,这样我就可以运行一些测试,而不必遍历所有元素。就数据类型而言,我假设它是一个数组数组(或列表列表)。列表的行数应该是:len(a)和列数len(a[0]),假设所有行都有相同的列数,即每个索引中的所有列表都具有相同的大小。如果使用NumPy数组,形状可以使用。 比如说 >>> a = numpy.array([[[1,2,3],[1
是(我假设)生成一个整数矩阵(不太可能是字符串)。我需要找到矩阵的大小,这样我就可以运行一些测试,而不必遍历所有元素。就数据类型而言,我假设它是一个数组数组(或列表列表)。列表的行数应该是:
len(a)
和列数len(a[0])
,假设所有行都有相同的列数,即每个索引中的所有列表都具有相同的大小。如果使用NumPy数组,形状可以使用。
比如说
>>> a = numpy.array([[[1,2,3],[1,2,3]],[[12,3,4],[2,1,3]]])
>>> a
array([[[ 1, 2, 3],
[ 1, 2, 3]],
[[12, 3, 4],
[ 2, 1, 3]]])
>>> a.shape
(2, 2, 3)
正如Ayman farhat提到的
您可以使用简单方法len(矩阵)获取行的长度,并使用len(矩阵[0])获取第一行的长度以获取列数:
您还可以使用一个库来帮助您处理矩阵“numpy”:
正确答案如下:
import numpy
numpy.shape(a)
假设你有一个数组。要获得数组的维数,应该使用shape
将numpy导入为np
a=np.数组([[3,20,99],-13,4.5,26],[0,-1,20],[5,78,-19]])
a、 形状
这个的输出将是
(4,3)要获得正确的尺寸(单位:NumPy):
len(a.shape)
在第一种情况下:
import numpy as np
a = np.array([[[1,2,3],[1,2,3]],[[12,3,4],[2,1,3]]])
print("shape = ",np.shape(a))
print("dimensions = ",len(a.shape))
输出将是:
shape = (2, 2, 3)
dimensions = 3
2
您可以使用以下方法获取Numpy阵列的高度和重量:
int height = arr.shape[0]
int weight = arr.shape[1]
如果数组有多个维度,则可以增加索引以访问它们
m = [[1, 1, 1, 0],[0, 5, 0, 1],[2, 1, 3, 10]]
print(len(m),len(m[0]))
输出
(3 4)
只需使用Numpy即可找到矩阵维度:
import numpy as np
x = np.arange(24).reshape((6, 4))
x.ndim
输出将是:
shape = (2, 2, 3)
dimensions = 3
2
这意味着这个矩阵是一个二维矩阵
x.shape
将显示每个维度的大小。x的形状等于:
(6, 4)
我用一种简单的方式来看待它:
例如:
如果仔细观察,开始处打开的方括号的数量就是定义阵列尺寸的数量。
在上面访问7的数组中,使用下面的索引,
h[0,1,1,0]
但是如果我们将数组更改为3维,如下所示
h=np.array([[[1,2,3],[3,4,5]],[[5,6,7],[7,8,9]],[[9,10,11],[12,13,14]]])
h.ndim
3
h
array([[[ 1, 2, 3],
[ 3, 4, 5]],
[[ 5, 6, 7],
[ 7, 8, 9]],
[[ 9, 10, 11],
[12, 13, 14]]])
要访问上述数组中的元素7,索引为h[1,1,0]矩阵的数据类型是什么?请向我们展示一些代码,我们将尽力提供帮助。Python没有内置的“矩阵”类型。您可能正在使用列表列表吗?如果您使用的是二维列表,那么Len(A)返回矩阵的高度,然后Len(A[0])将是矩阵的宽度。如果列表在结构上不一致,任何解决方法都可以使用。shape来获得矩阵的维度(使用np.array形成)的正确python方法是使用.shape。让
a
成为您的矩阵。要获取维度,您需要编写a.shape
,它将返回(#列,#行)。引用的数组不是python内置的,而是numpy modulelen(a.shape)提供的数组始终返回2@pedrambashiri不,这不是真的。我刚刚检查了这个代码。它返回3。
h=np.array([[[[1,2,3],[3,4,5]],[[5,6,7],[7,8,9]],[[9,10,11],[12,13,14]]]])
h.ndim
4
h
array([[[[ 1, 2, 3],
[ 3, 4, 5]],
[[ 5, 6, 7],
[ 7, 8, 9]],
[[ 9, 10, 11],
[12, 13, 14]]]])
h=np.array([[[1,2,3],[3,4,5]],[[5,6,7],[7,8,9]],[[9,10,11],[12,13,14]]])
h.ndim
3
h
array([[[ 1, 2, 3],
[ 3, 4, 5]],
[[ 5, 6, 7],
[ 7, 8, 9]],
[[ 9, 10, 11],
[12, 13, 14]]])