小编Dav*_*vid的帖子

Numpy:设置false,左边的任何内容都是false

TLDR; 如何根据每个值左侧列中的值在numpy数组中设置值?

我正在运行一些模拟,我在预测存活率,但下面是我正在尝试做的核心.我预测一堆离散的时间点幸存者,表示为True和Falses.每行都是模拟,每列都是一个时间点(即col 0是第一个时间点,col 1是后续的)

mc = (8, 4)
survival = np.random.random(mc) > np.random.random(mc)
survival
Run Code Online (Sandbox Code Playgroud)

这将给我这样的输出.

array([[False,  True,  True, False],
       [True,  False,  True, False],
       [ True, True,  True,  True], ...
Run Code Online (Sandbox Code Playgroud)

但如果事情在第一时间点死亡,它就会永远死去.所以我的输出需要是:

array([[False,  False,  False, False],
       [True,  False,  False, False],
       [ True, True,  True,  True], ...
Run Code Online (Sandbox Code Playgroud)

所以对于一行,我想在我找到的第一个False的右边设置False.有没有办法在没有两个嵌套循环的情况下做到这一点?我正在寻找一种更好的方法,但很难知道我是否可以使用内置函数来做到这一点.

python numpy python-3.x

3
推荐指数
1
解决办法
52
查看次数

标签 统计

numpy ×1

python ×1

python-3.x ×1