当前位置: 首页 > 知识库问答 >
问题:

如何在现有矩阵中随机添加n个零?

丌官博文
2023-03-14

我使用default_rng生成了这个数组:

import numpy as np
from numpy.random import default_rng
rng = default_rng(seed=10)
rng = rng.integers(1,20,(5,10))
rng

>>>array([[15, 19,  6,  4, 16, 16, 10,  3, 16, 10],
          [ 3,  3,  8, 14,  8, 16,  1,  9, 10, 19],
          [ 5, 16,  2,  7, 15, 11, 18, 15, 18, 16],
          [ 3, 18, 17,  3, 19, 15,  6,  3,  8, 18],
          [15,  5, 10, 17, 13,  6,  3, 19,  5, 10]], dtype=int64) 

我想用seed=5的生成器在这个矩阵中添加10个零。我想用dimessions[5,10]创建一个新数组,在里面放10个0,剩下的是一个,然后把两个数组混合起来,但是我必须使用生成器,所以我不能这样做。

共有1个答案

戎泰
2023-03-14

尝试使用np.random.choice选择索引,然后将这些索引处的值设置为0:

np.random.seed(10)
idx = np.random.choice(np.arange(5*10), size=5, replace=False)

rng.ravel()[idx] = 0

输出:

array([[15, 19,  6,  4, 16, 16, 10,  3, 16, 10],
       [ 3,  3,  8, 14,  8, 16,  1,  9, 10, 19],
       [ 5, 16,  2,  0, 15, 11, 18, 15, 18, 16],
       [ 3, 18, 17,  3, 19, 15,  6,  0,  8, 18],
       [15,  5,  0, 17,  0,  6,  3,  0,  5, 10]])
 类似资料:
  • 本文向大家介绍如何在R中创建具有随机值的矩阵?,包括了如何在R中创建具有随机值的矩阵?的使用技巧和注意事项,需要的朋友参考一下 通常,使用给定值创建矩阵,但是如果我们要创建具有随机值的矩阵,则将对矩阵函数使用常规方法。R中的随机选择可以根据我们的目标以多种方式完成,例如,如果要从正态分布中随机选择值,则将使用rnorm函数并将其存储在矩阵中,然后将其传递到矩阵函数中。 示例 输出结果 示例 输出结

  • 问题内容: 允许从向量中进行加权选择,即 选择概率为0.2的1,概率为0.5的2和概率为0.3的3。 如果我们想对每个行都是概率向量的2D数组(矩阵)以向量化的方式快速进行操作,该怎么办?也就是说,我们想要一个来自随机矩阵的选择向量吗?这是超级慢的方式: : 这篇文章表明,并且可能是一种潜在的方法,而且很快。但是虽然可以沿numpy数组的一个轴执行此操作,但是该函数一次只能在单个数组上运行。同样,

  • 我想在Python中生成一个小于或等于另一个矩阵的随机0-1矩阵。例如,我有一个特定的矩阵: 我想生成一个随机矩阵: 正如我们所看到的,A>=Y。我如何在Python中生成随机矩阵y?

  • 我试图在现有画布中的特定框顶部添加一些红色矩形,与预期结果图像完全相同,但它们根本没有出现,因为我的代码显示了部署应用程序时当前不希望出现的结果。我的代码是在顶行和底行分别创建4个矩形,但我只想将其添加到框2-6的顶部,但我知道需要为框1顶部的红色矩形添加额外的代码 activity_main.xml MainActivity.java

  • 我目前有以下问题,给定一个数组,为了简单起见,假设一个4 x 4数组(我实际上正在使用512 x 512) 我想在数组周围循环/滑动,这样我就可以在表单中保存新数组 < code>np.array([3,5],[7,6]),np.array([2,4],[8,8]),np.array([1,6],[2,1]),np.array ([7,7],[1,4])等等(理想情况下,我可以选择我的“滑动”窗口

  • 本文向大家介绍java实现的n*n矩阵求值及求逆矩阵算法示例,包括了java实现的n*n矩阵求值及求逆矩阵算法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现的n*n矩阵求值及求逆矩阵算法。分享给大家供大家参考,具体如下: 先来看看运行结果: java版的写出来了,用的跟c语言相同的算法,然后看看能不能以后加个框做成程序: 更多关于java算法相关内容感兴趣的读者可查看本站