2017-04-22 87 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]]) 
>>>