1. 程式人生 > >numpy中meshgrid的使用

numpy中meshgrid的使用

       meshgrid函式通常在資料的向量化上使用,但是使用的方法我暫時還不是很明確。而meshgrid的作用適用於生成網格型資料,可以接受兩個一維陣列生成兩個二維矩陣,對應兩個陣列中所有的(x,y)對。接下來通過簡單的shell互動來演示一下這個功能的使用,並做一下小結。

       互動顯示:

In [65]: xnums =np.arange(4)

In [66]: ynums =np.arange(5)

In [67]: xnums

Out[67]: array([0,1, 2, 3])

In [68]: ynums

Out[68]: array([0,1, 2, 3, 4])

In [69]: data_list= np.meshgrid(xnums,ynums)

In [70]: data_list

Out[70]:

[array([[0, 1, 2,3],

        [0, 1, 2, 3],

        [0, 1, 2, 3],

        [0, 1, 2, 3],

        [0, 1, 2, 3]]), array([[0, 0, 0, 0],

        [1, 1, 1, 1],

        [2, 2, 2, 2],

        [3, 3, 3, 3],

        [4, 4, 4, 4]])]

In [71]: x,y =data_list

In [72]: x.shape

Out[72]: (5L, 4L)

In [73]: y.shape

Out[73]: (5L, 4L)

In [74]: x

Out[74]:

array([[0, 1, 2,3],

       [0, 1, 2, 3],

       [0, 1, 2, 3],

       [0, 1, 2, 3],

       [0, 1, 2, 3]])

In [75]: y

Out[75]:

array([[0, 0, 0,0],

       [1, 1, 1, 1],

       [2, 2, 2, 2],

       [3, 3, 3, 3],

       [4, 4, 4, 4]])

       由上面的互動可以看出,meshgrid的作用是根據傳入的兩個一維陣列引數生成兩個陣列元素的列表。如果第一個引數是xarray,維度是xdimesion,第二個引數是yarray,維度是ydimesion。那麼生成的第一個二維陣列是以xarray為行,ydimesion行的向量;而第二個二維陣列是以yarray的轉置為列,xdimesion列的向量。