a = (np.arange(12)).reshape(2,2,3)
我只是想得到我的3D numpy数组中每列的标准偏差。当我对平均值这样做时,我得到了预期的结果-结果数组中的每个平均值都是浮点数。
a.mean(axis = 0).mean(axis = 0)
输出:
array([4.5, 5.5, 6.5])
然而,对于标准偏差:
a.std(axis = 0).std(axis = 0)
的回报:
array([0., 0., 0.])
验证np。STD在一列
上正常工作np.std(np.array([1,4,7,10]))
返回
3.3541019662496847
为什么列标准差返回0,0,0 ?
对于2D-numpy数组,查找每列的标准差和平均值可以这样做:
a = (np.arange(12)).reshape(4,3)
a_mean = a.T.mean(axis=1)
a_std = a.T.std(axis=1)
至于3d numpy数组,我不确定你的意思与列。因此,也许您正在寻找的解决方案是首先将数组重塑为2d-numpy数组,然后使用上面的代码。