我正在寻找一种方法,可以将一个pandas Series转换为新的Series,表示每行Series值之前连续高于/低于该行值的数量:
这将使某人能够确定时间序列中每个“区域最大/最小”值的重要性。谢谢!
a = pd.Series([30, 10, 20, 25, 35, 15])
您需要输出:
Value Higher than streak Lower than streak
30 0 0
10 0 1
20 1 0
25 2 0
35 4 0
15 0 3
这将使某人能够确定时间序列中每个“区域最大/最小”值的重要性。谢谢!
,然后
a.iloc[idx].index.to_series()(对于
gt,使用
.le(0))。所有其他索引值都需要零,因此我们可以通过使用
Series.reindex并应用
.fillna(0)来重新附加它们。例如,如果
s = a.iloc[idx].index.to_series().map(...),那么我们执行:
res = s.reindex(a.index).fillna(0)`。 - ouroboros1