У меня есть CSV-файл с двумя столбцами, дата и цена.Я хочу создать 3-й столбец с максимальным значением «Цена» за последние 5 дней.Не последние 5 строк или индекс, а 5 дней.
Содержимое файла "example.csv"
Date Price
2018-07-23 124.44
2018-07-24 125.49
2018-07-25 123.26
2018-07-31 124.08
2018-08-01 125.10
2018-08-04 121.41
2018-08-05 119.17
2018-08-06 118.58
Это должно выглядеть так:
Date Price High5
2018-07-23 124.44 124.44
2018-07-24 125.49 125.49
2018-07-25 123.26 125.49
2018-07-31 124.08 124.08
2018-08-01 125.10 125.10
2018-08-04 121.41 125.10
2018-08-05 119.17 125.10
2018-08-06 118.58 121.41
С этим кодом я получаю максимум всего столбца "Закрыть" для каждой строки.
import pandas as pd
df = pd.read_csv('example.csv', parse_dates=True, index_col=0)
df['High5'] = df['Close'].max()
print(df)
С этим кодом я получаю максимумпоследние 5 дней, заканчивающиеся на 2018-08-06 для всех строк.
import pandas as pd
df = pd.read_csv('example.csv', parse_dates=True, index_col=0)
rng = pd.date_range(end='2018-08-06', periods=5, freq='D')
df['High5'] = df['Price'].loc[rng].max()
print(df['High5'])
Мне не нужно одинаковое значение для всех строк.И я знаю, что неправильно работать с фиксированной (конечной) датой.Но я не знаю ответа с моим знанием начинающих.