У меня есть дневной фрейм данных, который я пытаюсь resample
получить ежемесячно Open High Low Close
.
daily_df
Open High Low Last Close
Date
2010-01-04 55.15 57.55 54.55 57.50 57.30
2010-01-05 59.70 59.70 57.45 57.90 58.00
2010-01-06 60.30 60.30 57.10 57.55 57.50
2010-01-07 60.25 60.25 57.35 58.85 58.90
2010-01-08 59.40 59.95 56.90 57.30 57.65
2010-01-11 57.30 57.95 56.00 56.25 56.25
2010-01-12 56.25 56.80 53.80 54.25 54.10
2010-01-13 54.00 55.00 52.15 54.90 54.85
2010-01-14 55.45 55.70 54.15 54.30 54.35
2010-01-15 54.60 55.30 54.00 54.30 54.30
2010-01-18 53.90 55.20 53.85 54.35 54.40
2010-01-19 54.60 55.20 53.55 53.65 53.75
2010-01-20 54.40 54.40 53.45 53.60 53.70
2010-01-21 53.85 53.85 51.95 52.10 52.25
2010-01-22 51.80 52.85 50.30 51.85 52.00
2010-01-25 52.50 52.50 50.50 50.70 50.85
2010-01-27 51.25 51.25 47.80 47.90 48.20
2010-01-28 48.55 50.50 47.10 47.45 47.35
2010-01-29 47.45 52.15 45.60 51.80 51.70
2010-02-01 51.80 52.40 50.50 51.50 51.45
2010-02-02 53.25 54.10 51.40 51.80 51.80
2010-02-03 51.60 52.90 51.50 51.85 51.95
Я пробовал:
df2 = df_daily.resample('M',convention='end').asfreq()
Это дает мне фрейм данных только с закрывающими значениями, т. Е. С 30-ю значениями открытия хай-лоу закрытия, если дата точно в конце месяца, в противном случае NaN
.
df2=df_daily.resample('M').mean()
Это приводит к значениям, которые, как я полагаю, являются средним / средним значением значений Open High Low Close за определенный месяц.
Я ожидаю получить открытие месяца с первого дня месяца, в котором доступна цена, максимум, чтобы быть максимальным значением в этом месяце, минимум, чтобы быть самым низким за месяц, близко к фактическому закрытию.
Я полагаю, что я могу сделать это в пандах по-другому, используя min max, но мне просто интересно, можно ли использовать для этого повторную выборку.
Ожидаемый df
Open High Low Close
Date
2010-01-29 55.15 60.3 45.6 51.7
Спасибо