我有一個代表函數採樣點的N維數組。然後我使用numpy的histogramdd創建多維直方圖:在Python中生成多維網格
histoComp,edges = np.histogramdd(pointsFunction,bins = [np.unique(pointsFunction[:,i]) for i in range(dim)])
接下來我想產生一個「網格」每個載體的不同點的座標。 要做到這一點,我使用:
Grid = np.vstack(np.meshgrid([edges[i] for i in range(len(edges))])).reshape(len(edges),-1).T
然而,這並不工作,我希望它來,因爲np.meshgrid的輸入數組,而不是數組列表的方式......但我要假設邊緣數量未知,請使用生成器。
任何提示?
--- UPDATE --- 這裏是我想要什麼,我的意思是 「不工作」
>>>a = [4, 8, 7, 5, 9]
>>>b = [7, 8, 9, 4, 5]
因此,這是一種結果的一個例子:
>>>np.vstack(np.meshgrid(a,b)).reshape(2,-1).T
array([[4, 7],
[8, 7],
[7, 7],
[5, 7],
[9, 7],
[4, 8],
[8, 8],
[7, 8],
[5, 8],
[9, 8],
[4, 9],
[8, 9],
[7, 9],
[5, 9],
[9, 9],
[4, 4],
[8, 4],
[7, 4],
[5, 4],
[9, 4],
[4, 5],
[8, 5],
[7, 5],
[5, 5],
[9, 5]])
但這是結果我得到:
>>> np.vstack(np.meshgrid([a,b])).reshape(2,-1).T
array([[4, 7],
[8, 8],
[7, 9],
[5, 4],
[9, 5]])
謝謝
你是什麼意思它不工作? – Tempux
我的意思是我沒有預期的網格,我可以得到如果我輸入數組而不是數組列表。我會用一個例子來更新我的答案。 –