我是python的新手,我有一个关于numpy.reshape的问题。我目前有2个这样的值列表:
x = [0,1,2,3]
y = [4,5,6,7]
我希望它们位于单独的2D数组中,其中每个项目都会重复原始列表的长度,如下所示:
xx = [[0,0,0,0]
[1,1,1,1]
[2,2,2,2]
[3,3,3,3]]
yy = [[4,5,6,7]
[4,5,6,7]
[4,5,6,7]
[4,5,6,7]]
有没有办法用numpy.reshape做到这一点,还是有更好的方法可以使用?我非常感谢详细的解释。谢谢!
答案 0 :(得分:4)
numpy.meshgrid
会为您完成此操作。
N.B。根据您请求的输出,您似乎希望ij
建立索引,而不是默认xy
from numpy import meshgrid
x = [0,1,2,3]
y = [4,5,6,7]
xx,yy=meshgrid(x,y,indexing='ij')
print xx
>>> [[0 0 0 0]
[1 1 1 1]
[2 2 2 2]
[3 3 3 3]]
print yy
>>> [[4 5 6 7]
[4 5 6 7]
[4 5 6 7]
[4 5 6 7]]
供参考,这里是xy
索引
xx,yy=meshgrid(x,y,indexing='xy')
print xx
>>> [[0 1 2 3]
[0 1 2 3]
[0 1 2 3]
[0 1 2 3]]
print yy
>>> [[4 4 4 4]
[5 5 5 5]
[6 6 6 6]
[7 7 7 7]]