使用pandas计算系列的运行(累积)最大值

7

给定:

d = {
    'High': [954,
             953,
             952,
             955,
             956,
             952,
             951,
             950,
            ]
}
df = pandas.DataFrame(d)

我想添加另一列,该列是从开头到每个索引处的最大值。例如,所需的列应为:
'Max': [954, 
        954, 
        954, 
        955, 
        956, 
        956, 
        956, 
        956]

我尝试使用pandas的rolling函数,但是似乎窗口大小不能动态调整。
1个回答

10

使用 cummax

df.High.cummax()

0    954
1    954
2    954
3    955
4    956
5    956
6    956
7    956
Name: High, dtype: int64

df['Max'] = df.High.cummax()
df

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接