如何在Python中找到矩阵的维度。 Len(A)只返回一个变量。
编辑:
close = dataobj.get_data(timestamps, symbols, closefield)
是(我假设)生成整数矩阵(不太可能是字符串)。我需要找到该矩阵的大小,因此我可以运行一些测试而无需迭代所有元素。就数据类型而言,我假设它是一个数组(或列表列表)数组。
答案 0 :(得分:21)
列表列表的行数为:len(A)
和列数len(A[0])
,假设所有行具有相同的列数,即每个索引中的所有列都属于相同的大小。
答案 1 :(得分:14)
如果您使用的是NumPy数组,则可以使用形状。 例如
>>> a=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)
答案 2 :(得分:5)
正如Ayman farhat所说 你可以使用简单的方法len(矩阵)来获取行的长度,并获得第一行的长度来获得no。列使用len(matrix [0]):
>>> a=[[1,5,6,8],[1,2,5,9],[7,5,6,2]]
>>> len(a)
3
>>> len(a[0])
4
此外,您可以使用一个可以帮助您处理矩阵“numpy”的库:
>>> import numpy
>>> numpy.shape(a)
(3,4)
答案 3 :(得分:3)
正确答案如下:
import numpy
numpy.shape(a)
答案 4 :(得分:2)
要在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
答案 5 :(得分:2)
m = [[1, 1, 1, 0],[0, 5, 0, 1],[2, 1, 3, 10]]
print(len(m),len(m[0]))
输出
(3 4)
答案 6 :(得分:1)
假设您有一个which是一个数组。要获得数组的尺寸,应使用形状。
import numpy as np
a = np.array([[3,20,99],[-13,4.5,26],[0,-1,20],[5,78,-19]])
a.shape
此输出将是 (4,3)
答案 7 :(得分:1)
您可以使用以下方法获取Numpy数组的高度和权重:
int height = arr.shape[0]
int weight = arr.shape[1]
如果数组具有多个维度,则可以增加索引来访问它们。
答案 8 :(得分:0)
您只需使用Numpy即可找到矩阵尺寸:
import numpy as np
x = np.arange(24).reshape((6, 4))
x.ndim
输出将是:
2
这意味着该矩阵是二维矩阵。
x.shape
将显示每个尺寸的大小。 x的形状等于:
(6, 4)
答案 9 :(得分:0)
我看待它的简单方式: 例子:
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]]]])
如果你仔细观察,开头方括号的数量决定了数组的维数。 在上面访问 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]