如何通过随机选择2×2子数组中的元素来对2D数组进行下采样?
发布时间:2020-12-17 17:35:50 所属栏目:Python 来源:网络整理
导读:我有一个2n x 2m的numpy数组.我想通过在2 x 2个不重叠的子数组中随机选择一个元素来构成一个n x m数组,这些子数组对我的初始数组进行分区.最好的方法是什么?有没有办法避免两个for循环(每个维度一个)? 例如,如果我的数组是 1 2 3 45 6 7 89 0 1 28 5 7 0
我有一个2n x 2m的numpy数组.我想通过在2 x 2个不重叠的子数组中随机选择一个元素来构成一个n x m数组,这些子数组对我的初始数组进行分区.最好的方法是什么?有没有办法避免两个for循环(每个维度一个)? 例如,如果我的数组是
然后,有四个2 x 2子数组对其进行分区:
我想在每个元素中随机选取一个元素以形成新的数组,例如
感谢您的时间. 最佳答案
这可以通过采样完成.而不是对每个2×2正方形进行采样,我们将整个ndarray采样为4个单独的ndarray,这些子数组中的相同索引将指向同一2×2正方形.然后,我们从这4个单独的ndarray中随机采样:
现在,这4个子样本中每个样本的相同索引指向原始ndarray上相同的2×2平方.我们只需要从相同的索引中随机选择:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |