Метод ohlc
Метод ohlc применяется к объекту Resampler,
который получается после вызова метода resample
на временном ряде. Он возвращает DataFrame с четырьмя
колонками: open (первое значение в интервале),
high (максимальное значение),
low (минимальное значение) и
close (последнее значение в интервале).
Этот метод часто используется в финансовом анализе
для создания свечных графиков.
Синтаксис
resampler.ohlc()
Пример
Давайте создадим временной ряд и применим метод ohlc
с передискретизацией по дням:
import pandas as pd
df = pd.DataFrame({
'date': pd.date_range('2026-01-01', periods=10, freq='6h'),
'value': [100, 105, 102, 108, 107, 110, 109, 112, 115, 113]
})
df = df.set_index('date')
res = df.resample('D').ohlc()
print(res)
Результат выполнения кода:
value
open high low close
date
2026-01-01 100 108 100 108
2026-01-02 107 115 107 113
Пример
Применим метод ohlc с передискретизацией
по часам:
import pandas as pd
df = pd.DataFrame({
'time': pd.date_range('2026-01-01 08:00', periods=6, freq='30min'),
'price': [50, 52, 51, 53, 54, 52]
})
df = df.set_index('time')
res = df.resample('1h').ohlc()
print(res)
Результат выполнения кода:
price
open high low close
time
2026-01-01 08:00:00 50 52 50 51
2026-01-01 09:00:00 53 54 52 52
Пример
Метод ohlc можно применять к DataFrame
с несколькими колонками. В результате получится
многоуровневый индекс в колонках:
import pandas as pd
df = pd.DataFrame({
'date': pd.date_range('2026-01-01', periods=8, freq='4h'),
'a': [10, 12, 11, 13, 14, 12, 15, 16],
'b': [20, 22, 21, 23, 24, 22, 25, 26]
})
df = df.set_index('date')
res = df.resample('8h').ohlc()
print(res)
Результат выполнения кода:
a b
open high low close open high low close
date
2026-01-01 00:00:00 10 13 10 13 20 23 20 23
2026-01-01 08:00:00 14 16 12 16 24 26 22 26