您想要 沿前两个轴 获取均值/中位数/ 众数 。这应该工作:
data = np.random.randint(1000, size=(500, 300, 3))>>> np.mean(data, axis=(0, 1)) # in nunpy >= 1.7array([ 499.06044 , 499.01136 , 498.60614667])>>> np.mean(np.mean(data, axis=0), axis=0) # in numpy < 1.7array([ 499.06044 , 499.01136 , 498.60614667])>>> np.median(data.reshape(-1, 3), axis=0)array([ 499., 499., 498.]) # mode>>> np.argmax([np.bincount(x) for x in data.reshape(-1, 3).T], axis=1)array([240, 519, 842], dtype=int64)
请注意,这
np.median需要展平的数组,因此需要重塑形状。Bincount仅处理一维输入,因此列表理解以及用于拆包的一些易变魔术。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)