Np.std 3 维数组
Np.std on 3 dimensional Array
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)
Returns:
array([0., 0., 0.])
验证 np.std 在一列上正常工作时
np.std(np.array([1,4,7,10]))
它returns
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 数组,然后使用上面的代码。
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)
Returns:
array([0., 0., 0.])
验证 np.std 在一列上正常工作时
np.std(np.array([1,4,7,10]))
它returns
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 数组,然后使用上面的代码。