【发布时间】:2017-12-15 09:37:51
【问题描述】:
我有一个清单
a = np.ones(100)
我想将该列表中的 50 个随机项目变为 0。一旦这些元素为 0,我想将列表中剩余项目的 25 个随机元素变为 0。在剩余的 25 个中,我想将 13其余元素随机归零等。
然后我将通过一个简单的循环来运行它,例如(伪代码)“如果 item == 1,打印红色粒子,否则打印蓝色粒子”等。
这基本上是为了模拟指数衰减,但我正在努力想一个算法来做到这一点。
这不是“Numpy:替换数组中的随机元素”的副本,因为一旦元素发生更改,我不希望它们再次被考虑更改。
【问题讨论】:
-
只是为了好玩?因为
numpy太快了,你不会注意到衰减是指数的、线性的还是数组一开始就只包含 0。 -
你不应该总是将 50 个随机元素设置为零以获得指数衰减吗?
-
另外,
a = np.ones(1,size=100)是什么?它甚至不是合法的函数调用。 -
大多数随机衰减过程会给每个元素一个独立的 50% 衰减机会,而不是每次都可靠地衰减剩余项目的确切比例。