Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取对象数组的std_Python_Arrays - Fatal编程技术网

Python 获取对象数组的std

Python 获取对象数组的std,python,arrays,Python,Arrays,我有一个数组,它是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.zer

我有一个数组,它是
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])

这是我经过一点尝试和错误后得到的。 欢迎改进

omega = x
for dims in range(len(x.shape)):
    omega = np.concatenate(omega)

y = np.reshape(omega,[3,3,4])
print(y)

如果您只关心
std
,以下是针对您的具体情况的简单解决方案:


np.std(np.array([i代表a.flatte()中的i]).flatte())

这些是NumPy数组吗?如果不是的话,他们似乎应该这样做。然后,使用
np.std
获取
std将非常简单。它们是,但不是30x30x400数组,而是一个30x30数组,里面有一个数组。我想共享多维数据集的.npy文件,但我不确定可以上传到哪里。@Coolcrab,你能共享一个3x3数组,里面有4个元素数组吗?这会让人们想出一个代码,如果需要的话,你可以在以后进行扩展。我添加了代码来制作一个,并在其中添加了一个示例数组。