Py学习  »  Python

在Python中创建数组nx1?

Dimitri_896 • 2 年前 • 601 次点击  

在MATLAB中,我们可以简单地说

L = 2^8
x = (-L/2:L/2-1)';

这将创建一个大小为lx1的数组。

如何在Python中创建它?

我试过:

L = 2**8
x = np.arange(-L/2.0,L/ 2.0)

这不管用。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128583
 
601 次点击  
文章 [ 2 ]  |  最新文章 2 年前
hpaulj
Reply   •   1 楼
hpaulj    2 年前

MATLAB代码生成一个(1,n)大小的矩阵,该矩阵被转换为(n,1)

>> 2:5
ans =

   2   3   4   5

>> (2:5)'
ans =

   2
   3
   4
   5

MATLAB矩阵总是2d(或更高)。 numpy 阵列可以是1d甚至0d。

https://numpy.org/doc/stable/user/numpy-for-matlab-users.html

在里面 努比 :

arange 生成1d阵列:

In [165]: np.arange(2,5)
Out[165]: array([2, 3, 4])
In [166]: _.shape
Out[166]: (3,)

向数组中添加尾随维度的方法有多种:

In [167]: np.arange(2,5)[:,None]
Out[167]: 
array([[2],
       [3],
       [4]])
In [168]: np.arange(2,5).reshape(3,1)
Out[168]: 
array([[2],
       [3],
       [4]])
 

努比 有一个转置,但它在一维数组中的行为并不是人们对二维数组的期望。它实际上比MATLAB更强大、更通用 ' .

sehan2
Reply   •   2 楼
sehan2    2 年前

干得好:

x.reshape((-1,1))