Преобразование данных 1H OHLC в данные 3H OHLC с использованием Pandas DataframePython

Программы на Python
Anonymous
Преобразование данных 1H OHLC в данные 3H OHLC с использованием Pandas Dataframe

Сообщение Anonymous »

У меня есть данные за 1 час в df от yfinance. Мне нужно преобразовать эти данные в интервал 3 часа.
Пример кода:
pip install yfinance
import yfinance as yf
ticker_symbol = '^NSEI' # Nifty index symbol on Yahoo Finance
df = yf.download(ticker_symbol, start='2023-01-01', end='2024-01-01',interval='1h')
df_new = df.resample("3H").mean()

Вывод df:
Open High Low Close Adj Close Volume
Datetime
2023-01-02 09:15:00+05:30 18131.699219 18172.949219 18087.550781 18162.900391 18162.900391 0
2023-01-02 10:15:00+05:30 18159.400391 18199.300781 18155.400391 18186.500000 18186.500000 0
2023-01-02 11:15:00+05:30 18186.099609 18192.949219 18170.500000 18192.050781 18192.050781 0
2023-01-02 12:15:00+05:30 18190.650391 18197.300781 18153.900391 18182.349609 18182.349609 0
2023-01-02 13:15:00+05:30 18182.250000 18193.449219 18157.949219 18170.099609 18170.099609 0
2023-01-02 14:15:00+05:30 18169.949219 18205.099609 18123.199219 18193.050781 18193.050781 0
2023-01-02 15:15:00+05:30 18192.099609 18215.099609 18192.099609 18208.949219 18208.949219 0
2023-01-03 09:15:00+05:30 18163.199219 18232.500000 18149.949219 18230.250000 18230.250000 0
2023-01-03 10:15:00+05:30 18230.099609 18238.949219 18215.949219 18231.250000 18231.250000 0
2023-01-03 11:15:00+05:30 18231.099609 18240.400391 18195.800781 18198.199219 18198.199219 0
2023-01-03 12:15:00+05:30 18198.349609 18198.949219 18162.500000 18184.550781 18184.550781 0

Текущий вывод: df_new
Open High Low Close Adj Close Volume
Datetime
2023-01-02 09:00:00+05:30 18159.066406 18188.399740 18137.817057 18180.483724 18180.483724 0.0
2023-01-02 12:00:00+05:30 18180.949870 18198.616536 18145.016276 18181.833333 18181.833333 0.0
2023-01-02 15:00:00+05:30 18192.099609 18215.099609 18192.099609 18208.949219 18208.949219 0.0
2023-01-02 18:00:00+05:30 NaN NaN NaN NaN NaN NaN
2023-01-02 21:00:00+05:30 NaN NaN NaN NaN NaN NaN
2023-01-03 00:00:00+05:30 NaN NaN NaN NaN NaN NaN

Ожидаемый результат:
Open High Low Close Adj Close Volume
Datetime
2023-01-02 09:15:00+05:30 18131.699219 18199.300781 18087.550781 18192.050781 18192.050781 0.0
2023-01-02 12:15:00+05:30 18190.650391 18205.099609 18123.199219 18193.050781 18193.050781 0.0
2023-01-02 15:15:00+05:30 18192.099609 18215.099609 18192.099609 18208.949219 18208.949219 0.0
2023-01-03 09:15:00+05:30 18163.199219 18240.400391 18149.949219 18198.199219 18198.199219 0


Подробнее здесь: https://stackoverflow.com/questions/787 ... -dataframe

Вернуться в «Python»