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