最近,我有一个项目需要知道矩阵的大小。 这是matlab代码的一部分。
[rwn1 rwn2]=size(rtt)
然后你会知道它在矩阵中有多少行和列,称为" rtt"从code.But我想将matlab代码转换为python,我也创建了一个像这样的python代码
import numpy as np
rtt=np.array([1,2,3,4,5,6,7,8,9,10])
rtt.shape
它只打印(10,)
它没有打印行数,只打印了列数。
结果我想要的是(10,1),有没有高手可以帮我解决这个问题?
答案 0 :(得分: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)
答案 1 :(得分:0)
numpy和matlab之间存在一些差异,这对新用户来说可能很烦人。其中之一就是这个;你需要做什么
rtt = rtt.reshape(1,-1)
获取行矩阵。我想你会发现这个文档页面很有帮助:
https://docs.scipy.org/doc/numpy-dev/user/numpy-for-matlab-users.html
答案 2 :(得分: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]])
>>>