首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >替换numpy数组中的数字

替换numpy数组中的数字
EN

Stack Overflow用户
提问于 2017-11-30 16:22:01
回答 3查看 280关注 0票数 0

我有一个用0和1填充的numpy数组,在创建数组之后,我需要用1替换其中的一些零。下面是数组的代码:

代码语言:javascript
代码运行次数:0
运行
复制
grid = np.random.randint(0, 2, size=(4,4)) 
np.random.shuffle(grid)

我试过:

代码语言:javascript
代码运行次数:0
运行
复制
grid[grid == 0] = np.random.binomial(1, 0.9, size = None)

以及:

代码语言:javascript
代码运行次数:0
运行
复制
grid[grid == 0] = np.random.randint(0, 2)

但是,所有的零都用1替换,或者根本没有被替换。有没有办法只替换一些零?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-30 16:40:28

这个怎么样:

代码语言:javascript
代码运行次数:0
运行
复制
grid += np.random.binomial(1, 0.9, size=grid.shape) * (grid == 0)
票数 1
EN

Stack Overflow用户

发布于 2017-11-30 16:38:18

而不是一次抽签,而是多次抽签。

代码语言:javascript
代码运行次数:0
运行
复制
grid = np.random.randint(0, 2, size=(4,4))
np.random.shuffle(grid)

grid[grid==0] = np.random.binomial(1, 0.5, size = grid[grid==0].shape[0])
票数 1
EN

Stack Overflow用户

发布于 2017-11-30 16:39:40

你最好再试一次。

对我来说,洗牌方法是可行的。

代码语言:javascript
代码运行次数:0
运行
复制
np.random.shuffle(grid)

虽然似乎只有在两次使用之后才起作用.

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

https://stackoverflow.com/questions/47577993

复制
相关文章

相似问题

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