嗨,我有以下设置:
def _bootstrap_resample(sample, n_resamples=None, random_state=None):
"""Bootstrap resample the sample."""
n = sample.shape[-1]
# bootstrap - each row is a random resample of original observations
i = rng_integers(random_state, 0, n, (n_resamples, n))
resamples = sample[..., i]
return resamples
就我而言:
样品:
[[ 0 1 2 3 4 5 6 7 8 9]
[10 11 12 13 14 15 16 17 18 19]]
我:
[[0 0 0 0 0 1 1 1 1 1]
[2 2 2 2 2 3 3 3 3 3]]
我想要什么:
[[[ 0 0 0 0 0 1 1 1 1 1]
[10 10 10 10 10 11 11 11 11 11]]
[[ 2 2 2 2 2 3 3 3 3 3]
[12 12 12 12 12 13 13 13 13 13]]]
即i 的多行只是说明要采用哪些列并创建新示例。提供的代码:
重新采样 = 样本[..., i]
不幸的是并没有这样做并产生
[[[ 0 0 0 0 0 1 1 1 1 1]
[ 2 2 2 2 2 3 3 3 3 3]]
[[10 10 10 10 10 11 11 11 11 11]
[12 12 12 12 12 13 13 13 13 13]]]
我怎样才能在这里得到我想要的东西?
swapaxes
:
resamples = sample[..., i].swapaxes(0, 1)
输出:
array([[[ 0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
[10, 10, 10, 10, 10, 11, 11, 11, 11, 11]],
[[ 2, 2, 2, 2, 2, 3, 3, 3, 3, 3],
[12, 12, 12, 12, 12, 13, 13, 13, 13, 13]]])