自动 ndarray 连接和循环
automatic ndarray concatenation along with a loop
我有以下代码实现来对 numpy 数组执行分位数计算。
x1 = np.random.rand(10,3,2)
for i in np.arange(0.1,0.2,0.05):
x= np.quantile(x1, i,axis=0)
print(x.shape)
可以看出循环时生成的x数组的形状为(3, 2)。我需要的是将这些生成的 x 数组连接在一起。对于这种情况,我想要一个形状为 (2,3,2) 的串联数组。如何进行这种串联。
您可以将要计算的 所有 分位数作为列表传递给 np.quantile
或 array-like:
In [2]: x = np.random.rand(10,3,2)
In [3]: np.quantile(x, np.arange(0.1, 0.2, 0.05), axis=0).shape
Out[3]: (2, 3, 2)
In [4]: np.quantile(x, np.arange(0.1, 0.2, 0.05), axis=0)
Out[4]:
array([[[0.25278165, 0.20236969],
[0.34814603, 0.22170499],
[0.12397841, 0.08714209]],
[[0.29549464, 0.21931808],
[0.35593299, 0.25053593],
[0.17244185, 0.11209505]]])
我有以下代码实现来对 numpy 数组执行分位数计算。
x1 = np.random.rand(10,3,2)
for i in np.arange(0.1,0.2,0.05):
x= np.quantile(x1, i,axis=0)
print(x.shape)
可以看出循环时生成的x数组的形状为(3, 2)。我需要的是将这些生成的 x 数组连接在一起。对于这种情况,我想要一个形状为 (2,3,2) 的串联数组。如何进行这种串联。
您可以将要计算的 所有 分位数作为列表传递给 np.quantile
或 array-like:
In [2]: x = np.random.rand(10,3,2)
In [3]: np.quantile(x, np.arange(0.1, 0.2, 0.05), axis=0).shape
Out[3]: (2, 3, 2)
In [4]: np.quantile(x, np.arange(0.1, 0.2, 0.05), axis=0)
Out[4]:
array([[[0.25278165, 0.20236969],
[0.34814603, 0.22170499],
[0.12397841, 0.08714209]],
[[0.29549464, 0.21931808],
[0.35593299, 0.25053593],
[0.17244185, 0.11209505]]])