我試圖獲得numpy 3d數組中每個子陣列的頻率計數(無零)。但是,scipy.stats.itemfreq工具會返回2d數組中的頻率計數。3D NumPy數組中每個子陣列或切片的頻率計數
我得到的是:
array_3d= array([[[1, 0, 0],
[1, 0, 0],
[0, 2, 0]],
[[0, 0, 0],
[0, 0, 3],
[3, 3, 3]],
[[0, 0, 4],
[0, 0, 4],
[0, 0, 4]]])
>>> itemfreq(array_3d)[1:,]
# outputs
array([ 1, 2],
[ 2, 1],
[ 3, 4],
[ 4, 3]], dtype=int64)
雖然我想輸出:
array([[ 1, 2, 2, 1],
[ 3, 4],
[ 4, 3]], dtype=object)
的想法是,奇數總是獨特價值和偶數的頻率。
另一個輸出可以是:
array([ 1, 2, 0],
[ 2, 1, 0],
[ 3, 4, 1],
[ 4, 3, 2]], dtype=int64)
其中第三列表示3D陣列的子集數量。
我也對其他輸出/解決方案開放!
提前致謝!
你能描述你試圖解決的更高層次的問題嗎? –