2016-09-14 4 views
3

Дано:Compute бегущих макс для dataframe в пандах

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

Я хочу добавить еще один столбец, который является не более при каждом индексе с самого начала. Например желаемая колонка будет:

'Max': [954, 
     954, 
     954, 
     955, 
     956, 
     956, 
     956, 
     956] 

Я попытался с функцией панды качению, но окно не может быть динамическим, кажется

ответ

5

Использование 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

+0

Отлично! Именно то, что я искал. Благодаря! –

Смежные вопросы