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.有没有办法在没有两个嵌套循环的情况下做到这一点?我正在寻找一种更好的方法,但很难知道我是否可以使用内置函数来做到这一点.