Python numpy获取数据集之间的std

Python numpy获取数据集之间的std,python,numpy,Python,Numpy,我有一个数据集数组aA是n×2。它可以绘制在x轴和y轴上。 A[:,1]获取所有Y值,而A[:,0]获取所有x值 现在,我有一些类似于a的其他数据集数组。对于这些相似的数组,X值是相同的。如何计算数据集的标准偏差?每个X都应该有一个std值。最后,我的结果std的长度应该是n 我可以通过使用循环手动完成这项工作,但我不确定如何以pythonic和简单的方式使用NumPy完成这项工作 以下是一些示例数据: A=[[0,2.54],[1,254.5],[2,-43]] B=[[0,3.34],[1,

我有一个数据集数组
a
<代码>A是
n
×
2
。它可以绘制在x轴和y轴上。
A[:,1]
获取所有Y值,而
A[:,0]
获取所有x值

现在,我有一些类似于
a
的其他数据集数组。对于这些相似的数组,X值是相同的。如何计算数据集的标准偏差?每个X都应该有一个std值。最后,我的结果
std
的长度应该是
n

我可以通过使用循环手动完成这项工作,但我不确定如何以pythonic和简单的方式使用NumPy完成这项工作

以下是一些示例数据:

A=[[0,2.54],[1,254.5],[2,-43]]
B=[[0,3.34],[1,154.5],[2,-93]]
std_Array=[std(2.54,3.54),std(254.5,154.5),std(-43,-93)]

这个蟒蛇够了吗

std_Array = numpy.std((A,B), axis = 0)[:,1]

这个蟒蛇够了吗

std_Array = numpy.std((A,B), axis = 0)[:,1]

假设您的数组都是相同的形状,并且它们在一个列表中。然后得到每一列的第一列的标准偏差

arrays = [np.random.rand(10, 2) for _ in range(8)]
np.dstack(arrays).std(axis=0)[0]
这将二维阵列堆叠成三维阵列,然后沿第一个轴取
std
,得到2 X 8(阵列数)。结果的第一行是标准devs。在8组x值中。
如果您发布一些示例数据,也许我们可以提供更多帮助

假设您的数组都是相同的形状,并且它们位于一个列表中。然后得到每一列的第一列的标准偏差

arrays = [np.random.rand(10, 2) for _ in range(8)]
np.dstack(arrays).std(axis=0)[0]
li_arr = [np.array(x)[: , 1]  for x in [A , B]]
这将二维阵列堆叠成三维阵列,然后沿第一个轴取
std
,得到2 X 8(阵列数)。结果的第一行是标准devs。在8组x值中。 如果您发布一些示例数据,也许我们可以提供更多帮助

li_arr = [np.array(x)[: , 1]  for x in [A , B]]
这将生成包含要添加的特定列的numpy数组,结果将为

[array([   2.54,  254.5 ,  -43.  ]), array([   3.34,  154.5 ,  -93.  ])]
然后使用
column\u stack

arr = np.column_stack(li_arr)
这将是叠加的结果

array([[   2.54,    3.34],
       [ 254.5 ,  154.5 ],
       [ -43.  ,  -93.  ]])
最后

np.std(arr , axis = 1)
这将生成包含要添加的特定列的numpy数组,结果将为

[array([   2.54,  254.5 ,  -43.  ]), array([   3.34,  154.5 ,  -93.  ])]
然后使用
column\u stack

arr = np.column_stack(li_arr)
这将是叠加的结果

array([[   2.54,    3.34],
       [ 254.5 ,  154.5 ],
       [ -43.  ,  -93.  ]])
最后

np.std(arr , axis = 1)

您应该发布一些示例数据、输入和预期输出。你说你的结果应该是长度n,是因为有n个数组吗?这与A的长度相同吗?是否只需要每个数组中x值的标准值。如果你有一个数组列表,你可以使用
np.dstack
制作一个3D数组,然后沿着相应的轴获取标准。标准(a,axis=None,dtype=None,out=None,ddof=0,keepdims=False)ddof=0是总体标准开发。如果ddof=1,则是样本标准开发。请注意,如果你有NAN,有一个等效的np.nanstd和类似的ddof选项。您应该发布一些示例数据、输入和预期输出。你说你的结果应该是长度n,是因为有n个数组吗?这与A的长度相同吗?是否只需要每个数组中x值的标准值。如果你有一个数组列表,你可以使用
np.dstack
制作一个3D数组,然后沿着相应的轴获取标准。标准(a,axis=None,dtype=None,out=None,ddof=0,keepdims=False)ddof=0是总体标准开发。如果ddof=1,则是样本标准开发。请注意,如果你有NAN,有一个具有类似ddof选项的等效np.nanstd