学习过程中遇到np.mgrid函数,感觉很难理解
其实把输出换成相应的点在坐标系中画出来就很好理解了.
比如说

np.mgrid[0:5, 0:3]

其实是画一个网格一样的点,横坐标从0开始画5个长度,纵坐标从0开始画3个

nodes = np.mgrid[0:5, 0:3]

plt.scatter(nodes[0],nodes[1])
plt.xticks([n for n in range(6)])
plt.yticks([n for n in range(6)])
plt.show()

输出的shape为(2,5,3),是把横坐标保存到第一个数组中,纵坐标保存到第二个数组中

nodes[0]是所有点的横坐标,nodes[1]是所有点的纵坐标
nodes[0][2]是所有横坐标为2的点的横坐标,nodes[1][2]是所有纵坐标为2的点的纵坐标
如果我们要取(2,2)可以这样取(nodes[0][2][2],nodes[1][2][2])

转置

如果这个矩阵被转置了,代表什么?

np.mgrid[0:5, 0:3].T


转置后的shape是(3,5,2)的,和未转置之前的(2,5,3)刚好倒过来
相当于横着保存坐标点,第一行是y为0的所有点,第二行为y为1的所有点….

posted @ 2018-05-11 21:15:23
评论加载中...

发表评论