检测 numpy 数组中的“大”变化

问题描述

例如,给定这个 numpy array,我想知道当变化从 1 到 2,然后从 2 到 0 (0.22) 时的 indices。真的,我想要“剧烈”变化的指数:

<class 'numpy.ndarray'>
[1.         1.         1.         1.         1.         1.
 1.         1.01851852 2.         2.         2.         2.
 2.         2.         2.         2.         2.         0.22222222
 0.         0.         0.         0.         0.         0.
 0.         0.         0.         0.         0.         0.
 0.         0.         0.         0.         0.         0.
 0.         0.         0.         0.         0.         0.
 0.         0.         0.         0.         0.         0.
 0.        ]

或者在这numpy array 我想要 indices

<class 'numpy.ndarray'>
[1.        1.        1.        1.        1.        1.        1.
 1.        1.        1.        1.        1.        1.        1.
 1.        1.        1.        1.7029703 2.        2.        2.
 2.        0.5049505 0.        0.        0.        0.        0.
 0.        0.        0.        0.        0.        0.        0.
 0.        0.        0.        0.        0.        0.        0.
 0.        0.        0.        0.        0.        0.        0.       ]

当变化从 1 到 2 (1.7),然后回到 0.5 (0)

我知道我可以遍历数组并得到答案。我想知道是否有一个在数学上令人满意的“change detection函数可以做同样的事情。数组的 derivative 似乎没有这样做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)