如何找到时间序列中最先出现的极端类型

how to find which type of extreme comes first in time series

我想在 python 语言的随机时间序列中找出哪种类型的极端值最先出现。比如第一个极端是最大值还是最小值? 对于第一步,我编写了这段代码:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

np.random.seed(0)
ds = np.random.randn(50)
rd = [0]
for i in ds:
    rd.append(rd[-1]*0.3 + i)
df = pd.DataFrame(rd, columns=['data'])

如果您指的是全局最小值和最大值,请尝试比较这些值:

df.data.values.argmin(), df.data.values.argmax()

如果您指的是第一个局部最小值和最大值,您可以比较第一个值和第二个值:

  • 如果第二个值小于第一个,则第一个局部极值是最小值
  • 如果第二个值大于第一个,则第一个局部极值是最大值
  • 否则(等于)测试下一个值