我正在尝试创建一个函数,它将接收一个数据帧(带有时间戳索引)和一个谓词,然后它们重置索引(索引将为 0...n,时间戳将变为普通列),过滤器根据传递的谓词并迭代抛出原始 df 和过滤后的 df .
功能:
def trigger_events(timeSerie, pred):
filtered = timeSerie[pred]
timeSerie.reset_index(inplace=True)
timeSerie.rename(columns={"index": "TimeStamp"}, inplace=True)
... iterate and do stuffs here with both timeSerie and filtered (need to have same index)
用法示例:
df = createTimeSeriesSOMEHOW()
pred = DF[col1] < n
evs2 = trigger_events(df, pred)
如果我先重置过滤器,谓词将不起作用。 如果我先过滤然后重置索引,过滤后的切片索引将不会被重置。
如果创建切片的副本然后重置索引,它将丢失原始索引(我想要具有原始 df 索引的过滤系列)
我怎样才能更改数据框,并更改切片(重置索引,并重命名旧索引)?