首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有一个多维版本的arange/linspace?

是否有一个多维版本的arange/linspace?
EN

Stack Overflow用户
提问于 2018-03-26 06:30:23
回答 2查看 0关注 0票数 0

我想要一个2d numpy数组(x,y)的列表,其中每个x都在{-5,-4.5,-4,-3.5,…,3.5,4,4.5,5}中,而y是相同的。

我可以

x = np.arange(-5, 5.1, 0.5)
y = np.arange(-5, 5.1, 0.5)

然后遍历所有可能的配对,但我相信还有更好的方法。

我想要一些看起来像:

[[-5, -5],
 [-5, -4.5],
 [-5, -4],
 ...
 [5, 5]]

顺序并不重要。

EN

回答 2

Stack Overflow用户

发布于 2018-03-26 15:19:55

你可以用np.mgrid为此,它通常比np.meshgrid因为它在一个步骤中创建数组:

import numpy as np
X,Y = np.mgrid[-5:5.1:0.5, -5:5.1:0.5]

对于类似于linspace的功能,请替换步骤(即0.5)与复数它的大小指定了您希望在系列中的点数。使用此语法,与上述相同的数组指定如下:

X, Y = np.mgrid[-5:5:21j, -5:5:21j]

然后,您可以创建您的对如下:

xy = np.vstack((X.flatten(), Y.flatten())).T

这一切都可以用一行来完成:

xy = np.mgrid[-5:5.1:0.5, -5:5.1:0.5].reshape(2,-1).T
票数 0
EN

Stack Overflow用户

发布于 2018-03-26 15:34:23

可以使用np.meshgrid:

import numpy as np
x = np.arange(-5, 5.1, 0.5)
y = np.arange(-5, 5.1, 0.5)
X,Y = np.meshgrid(x,y)

您可以将其转换为所需的输出。

XY=np.array([X.flatten(),Y.flatten()]).T

print XY
array([[-5. , -5. ],
       [-4.5, -5. ],
       [-4. , -5. ],
       [-3.5, -5. ],
       [-3. , -5. ],
       [-2.5, -5. ],
       ....
       [ 3. ,  5. ],
       [ 3.5,  5. ],
       [ 4. ,  5. ],
       [ 4.5,  5. ],
       [ 5. ,  5. ]])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档