Как мне настроить повторную выборку Pandas по дням для временных интервалов, которые не делятся на 24 часа?Python

Программы на Python
Ответить
Anonymous
 Как мне настроить повторную выборку Pandas по дням для временных интервалов, которые не делятся на 24 часа?

Сообщение Anonymous »

Функция повторной выборки не работает с интервалами 5 или 10 часов. Все начинается нормально, а затем в тот же день перестает выравниваться.
d = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'}
df = read.resample('5H').agg(d)
df

выход:
Open High Low Close
Date
2024-01-21 00:00:00 317.3 319.5 316.1 317.4
2024-01-21 05:00:00 317.4 319.4 317.2 319.0
2024-01-21 10:00:00 319.0 319.6 318.0 319.1
2024-01-21 15:00:00 319.1 321.6 317.5 320.6
2024-01-21 20:00:00 320.6 321.7 318.2 319.5
2024-01-22 01:00:00 319.5 320.1 314.1 317.2
2024-01-22 06:00:00 317.2 318.6 310.7 312.8
2024-01-22 11:00:00 312.8 315.3 308.4 311.1
2024-01-22 16:00:00 311.2 312.5 303.6 308.5
2024-01-22 21:00:00 308.5 308.7 304.8 308.2
2024-01-23 02:00:00 308.1 311.7 308.1 309.9
2024-01-23 07:00:00 310.0 310.2 291.7 295.9

Все начинается нормально до следующего дня 22 января 2024 г.
Я хочу выполнить повторную выборку данных следующим образом:
  • с 00:00 до 05:00 (это 5 часов)
  • с 05:00 до 10:00 (5 часов)
  • С 10:00 до 15:00 (5 часов)
  • с 15:00 до 20:00 (5 часов)
  • с 20:00 до 00:00 следующего дня ( 4 часа)
Правильно работает с интервалами 2, 3, 4 или 6 часов.
d = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'}
df = read.resample('4H').agg(d)
df

выход:
Open High Low Close
Date
2024-01-21 00:00:00 317.3 319.5 316.1 318.5
2024-01-21 04:00:00 318.5 318.9 317.2 317.5
2024-01-21 08:00:00 317.5 319.6 317.3 319.3
2024-01-21 12:00:00 319.3 319.6 317.5 318.9
2024-01-21 16:00:00 318.9 321.6 317.9 320.6
2024-01-21 20:00:00 320.6 321.7 318.2 318.6
2024-01-22 00:00:00 318.7 320.3 315.3 316.7
2024-01-22 04:00:00 316.7 318.6 314.1 317.8
2024-01-22 08:00:00 317.9 317.9 310.7 313.5
2024-01-22 12:00:00 313.4 315.3 308.4 311.1
2024-01-22 16:00:00 311.2 312.5 303.6 306.6


Подробнее здесь: https://stackoverflow.com/questions/793 ... ont-divide
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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