我有一个30x30
数组,每个元素中都有一个400
值数组。你知道吗
有没有一种简单的方法来获取整个“立方体”的标准偏差,或者将其重新铸造为30x30x400立方体?你知道吗
In [295]: data.shape
Out[295]: (30, 30)
In [296]: data[0,0].shape
Out[296]: (400,)
做std(data)
会得到一个400
形状的数组,因此它不会将它应用于整个事物。结果的标准差是不一样的。你知道吗
下面是这样一个数组的例子,以及如何创建它。你知道吗
a = np.zeros([3,3]).astype(object)
for i in range(3):
for j in range(3):
a[i,j] = np.array([0,i,j])
In [364]: a
Out[364]:
array([[array([0, 0, 0]), array([0, 0, 1]), array([0, 0, 2])],
[array([0, 1, 0]), array([0, 1, 1]), array([0, 1, 2])],
[array([0, 2, 0]), array([0, 2, 1]), array([0, 2, 2])]], dtype=object)
In [365]: a.shape
Out[365]: (3, 3)
In [366]: a[0,0]
Out[366]: array([0, 0, 0])
如果您只关心
std
,那么针对您的具体情况,这里有一个简单的解决方案:np.std(np.array([i for i in a.flatten()]).flatten())
这是我经过一番尝试后得到的。 欢迎改进
相关问题 更多 >
编程相关推荐