假設我在每個用于處理多個資料檔案的 for 回圈之后得到一個 2d numpy 陣列作為輸出。
我打算在每次回圈結束時堆疊所有 2d numpy 陣列。最后,我只想得到一個 2d numpy 陣列,其中包含所有 2d 陣列的平均值。
例如,如果我在 2 個回圈后得到以下陣列,
arr1 = np.arange(1, 10).reshape(3, 3)
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
arr2 = np.arange(10, 19).reshape(3, 3)
array([[10, 11, 12],
[13, 14, 15],
[16, 17, 18]])
我想獲得以下陣列作為最終輸出(在 for 回圈之外)。
array([[5.5, 6.5, 7.5],
[8.5, 9.5, 10.5],
[11.5, 12.5, 13.5]])
我很感激任何想法如何(向哪個方向)堆疊二維陣列,以便我可以獲得平均值的最終輸出。
如果有歧義,我很樂意提供更多背景。
uj5u.com熱心網友回復:
你在找dstack嗎?
np.dstack([arr1, arr2])
輸出:
array([[[ 1, 10],
[ 2, 11],
[ 3, 12]],
[[ 4, 13],
[ 5, 14],
[ 6, 15]],
[[ 7, 16],
[ 8, 17],
[ 9, 18]]])
對于平均值:
np.dstack([arr1, arr2]).mean(2)
輸出:
array([[ 5.5, 6.5, 7.5],
[ 8.5, 9.5, 10.5],
[11.5, 12.5, 13.5]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516081.html
