我的问题可能是微不足道的,但我无法弄清楚。在熊猫数据框中,我有 time
列和 value
列:
我只需要添加保持初始最高(最大)“值”的列“重置”,直到“值”下降超过 10%,然后重置为新的“值”,直到下降了10%,以此类推。我尝试使用 true/false 分组,但它不起作用,因为它没有正确重置“值”。
df['action'] = np.where(df['value'] < df.value.cummax() * 0.9, True, False)
df['reset'] = df.groupby(df['action'].cumsum())['value'].cummax()
任何帮助将不胜感激。