首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NumPy网格划分为元组

将NumPy网格划分为元组
EN

Stack Overflow用户
提问于 2015-04-12 05:17:25
回答 1查看 440关注 0票数 0

如何从给定的NumPy数组(xx和yy)获得结果?

代码语言:javascript
复制
>>> xx, yy = np.mgrid[0:2, 5:7]
>>> xx
array([[0, 0],
       [1, 1]])
>>> yy
array([[5, 6],
       [5, 6]])
>>> result = [(0,5), (1,5), (1,6), (0,6)]
>>> result
[(0, 5), (1, 5), (1, 6), (0, 6)]
>>> 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-12 05:43:26

您的示例中的顺序需要对xx进行一些奇特的索引。我不得不颠倒第二栏的顺序。

代码语言:javascript
复制
In [243]: np.array([np.array([xx[:,0], xx[::-1,1]]).flatten(), yy.T.flatten()]).T.tolist()
Out[243]: [[0, 5], [1, 5], [1, 6], [0, 6]]

如果订单不那么重要,那么我们可以像对待xx一样对待yy

代码语言:javascript
复制
In [256]: xx, yy = np.mgrid[0:3, 5:8]

In [257]: np.array([xx.T.flatten(),yy.T.flatten()]).T.tolist()
Out[257]: [[0, 5], [1, 5], [2, 5], [0, 6], [1, 6], [2, 6], [0, 7], [1, 7], [2, 7]]

In [258]: np.array([xx.flatten(),yy.flatten()]).T.tolist()
Out[258]: [[0, 5], [0, 6], [0, 7], [1, 5], [1, 6], [1, 7], [2, 5], [2, 6], [2, 7]]

In [264]: np.array([xx,yy]).reshape(2,-1).T.tolist()
Out[264]: [[0, 5], [0, 6], [0, 7], [1, 5], [1, 6], [1, 7], [2, 5], [2, 6], [2, 7]]

In [272]: np.dstack([xx,yy]).reshape(-1,2).tolist()
Out[272]: [[0, 5], [0, 6], [0, 7], [1, 5], [1, 6], [1, 7], [2, 5], [2, 6], [2, 7]]

In [302]: list(np.broadcast(*np.ogrid[0:3,5:8]))
Out[302]: [(0, 5), (0, 6), (0, 7), (1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7)]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29586215

复制
相关文章

相似问题

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