如何在Python中找到矩阵的维数?

如何在Python中找到矩阵的维数?,python,matrix,Python,Matrix,如何在Python中找到矩阵的维数。Len(A)只返回一个变量 编辑: 是(我假设)生成一个整数矩阵(不太可能是字符串)。我需要找到矩阵的大小,这样我就可以运行一些测试,而不必遍历所有元素。就数据类型而言,我假设它是一个数组数组(或列表列表)。列表的行数应该是:len(a)和列数len(a[0]),假设所有行都有相同的列数,即每个索引中的所有列表都具有相同的大小。如果使用NumPy数组,形状可以使用。 比如说 >>> a = numpy.array([[[1,2,3],[1

如何在Python中找到矩阵的维数。Len(A)只返回一个变量

编辑:


是(我假设)生成一个整数矩阵(不太可能是字符串)。我需要找到矩阵的大小,这样我就可以运行一些测试,而不必遍历所有元素。就数据类型而言,我假设它是一个数组数组(或列表列表)。

列表的行数应该是:
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]]])