2017-04-22 136 views
1

最近,我有一个需要知道矩阵大小的项目。 这里是一段matlab代码。如何获得矩阵的大小?

[rwn1 rwn2]=size(rtt) 

,你会知道有多少行和列有从code.But我要变换的MATLAB代码为蟒蛇被称为“RTT”的矩阵,我也创建了一个Python代码这样

import numpy as np 
rtt=np.array([1,2,3,4,5,6,7,8,9,10]) 
rtt.shape 

它只打印(10,) 它没有打印行数,只是列数。 我想要的结果是(10,1),任何主人都可以帮助我解决这个问题吗?

+0

对不起,有一件事我忘了提的是,矩阵[1,2,3 ...]是hypothetical.The真实情况该矩阵是从excel导入的。 –

回答

0

您被创建一维数组。

import numpy as np 
rtt=np.array([[1,2,3,4,5,6,7,8,9,10]]) 
#rtt=np.array([1,2,3,4,5,6,7,8,9,10],ndmin=2) another way 
rtt.shape #(1, 10) 

如果妳希望这(列,行)格式,那么

rtt.shape[::-1] #(10, 1) 
+0

非常感谢! –

+0

非常感谢!它的工作原理,但真正的数组数据来自excel。我认为该方法只在我创建的假设矩阵上工作。 –

+0

您可以使用openpyxl从excel中提取数据 – SmartManoj

0

你可以改变形状,但只要确保行/列的顺序是你想要什么:

>>> rtt = np.array([1,2,3,4,5,6,7,8,9,10]) 
>>> rtt 
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 
>>> rtt.shape 
(10,) 

你说你要(10,1)

>>> rtt.shape = (10,1) 
>>> rtt 
array([[ 1], 
     [ 2], 
     [ 3], 
     [ 4], 
     [ 5], 
     [ 6], 
     [ 7], 
     [ 8], 
     [ 9], 
     [10]]) 

但也许(1,10)是你想要什么:

>>> rtt.shape = (1,10) 
>>> rtt 
array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]) 

如果你想(2,5),帮助自己:

>>> rtt.shape = (2,5) 
>>> rtt 
array([[ 1, 2, 3, 4, 5], 
     [ 6, 7, 8, 9, 10]]) 
>>>