首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于一个矩阵的数字化形式对另一个矩阵的条目进行混洗

基于一个矩阵的数字化形式对另一个矩阵的条目进行混洗
EN

Stack Overflow用户
提问于 2020-11-18 05:50:00
回答 1查看 19关注 0票数 0

我有一个问题,我需要根据一个矩阵的数字化形式对另一个矩阵的条目进行打乱。

假设我有一个由0或1填充的矩阵;np.random.choice([0, 1], size=100, p=[.9, .1])

然后,我采用另一个矩阵,该矩阵填充了从0到4的值。np.random.choice([0, 1, 2, 3, 4], size=100, p=[.01, 0.3, 0.3, 0.29, .1])

我想要做的是根据第二个矩阵的仓位重新排列0和1。假设我在1号箱中有24个0和4个1,我想要做的是打乱0和1的条目,使它们留在1号箱中,并且它们保持相同的0和1的数量。

我尝试在使用np.random.shuffle的同时使用np.where,但这不能保持0和1的原始计数。

EN

回答 1

Stack Overflow用户

发布于 2020-11-18 20:23:33

好的,我找到了一个解决方案,我可以循环多个矩阵和存储箱。

代码语言:javascript
复制
a = np.array(pd.DataFrame(connections[M_a][M_b]['cMat']))

    for aw in groups:
        b = a[C_ == aw]
        np.random.shuffle(b)
        iz, jz = np.nonzero(C_ == aw)

        for i, j, v in zip(iz, jz, b):
            a[i, j] = v

在这种情况下,groups是每个bin的值,范围从0到n。a是带有0和1的矩阵。C_是数字化的矩阵。iz和jz分别是行索引和列索引。输出是混洗后的矩阵。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64883856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档