我具有值x的數組:numpy的:在南平均值計算的結果值
x=numpy.array([[-0.11361818 -0.113618185 -0.98787775 -0.09719566],
[-0.11361818 -0.04173076 -0.98787775 -0.09719566],
[-0.11361818 -0.04173076 -0.98787775 -0.09719566],
[-0.62610493 -0.71682393 -0.24673653 -0.18242028],
[-0.62584854 -0.71613061 -0.24904998 -0.18287883],
[-0.62538661 -0.71551038 -0.25160676 -0.18338629]])
和相應類的數組標籤Y:
y=numpy.array([1, 1, 2, 3, 4, 4])
在y中的第一個類的標籤1屬於對於數組x中的第一行,y中的第二個類標籤1屬於數組x中的第二行,依此類推。
現在我想計算每個1-4級的平均值。例如,在X列1和2兩者都屬於1類,所以計算行1的平均值和2
我有以下代碼:
means = numpy.array([x[y == i].mean(axis=0) for i in xrange(4)])
當我爲此我最終這個結果:
array([[ nan],
[-1.27636606],
[-1.24042235],
[-1.77208567]])
如果我拿的xrange(6),我有這樣的結果:
array([[ nan],
[-1.27636606],
[-1.24042235],
[-1.77208567],
[-1.774899 ],
[ nan]])
爲什麼是這樣的話,我如何得到RI關閉nans並最終獲得我的4個平均值?
我有here的代碼,他們把類的數量作爲xrange()的參數,我不完全明白我做了什麼不同。
在此先感謝您的幫助!