Повторная выборка данных по часам и дате

У меня есть dataframe, как это:

Maximum Demand (KVA) Consumption (KVAh) Power Factor Timestamp 2017-04-01 01:00:00 127.0 261.0 0.81 2017-04-01 02:00:00 133.0 268.0 0.79 2017-04-01 03:00:00 119.0 273.0 0.92 2017-04-01 04:00:00 118.0 263.0 0.78 2017-04-01 05:00:00 135.0 271.0 0.86 2017-04-01 06:00:00 130.0 257.0 0.82 2017-04-01 23:00:00 120.0 261.0 0.78 2017-04-02 00:00:00 121.0 272.0 0.83 2017-04-02 01:00:00 126.0 263.0 0.90 2017-04-02 02:00:00 132.0 266.0 0.83 2017-04-02 03:00:00 132.0 275.0 0.90 2017-04-02 04:00:00 122.0 259.0 0.77 2017-04-02 05:00:00 119.0 271.0 0.78 2017-04-02 06:00:00 122.0 259.0 0.81 2017-04-02 23:00:00 115.0 264.0 0.87 2017-04-03 00:00:00 129.0 273.0 0.86 

Я хочу перепрограммировать данные к моменту 01:00 – 0:00 другой даты:

Я попробовал это:

 off_sum = offpeak_hist.resample('h', base=8).sum().dropna() 

Но желаемый результат не достигается. Пожалуйста помоги мне с этим.

2 Solutions collect form web for “Повторная выборка данных по часам и дате”

Я думаю, вам нужна первая shift на один час, а затем resample по days :

 print (offpeak_hist.shift(-1, freq='H')) Maximum Demand (KVA) Consumption (KVAh) Power Factor Timestamp 2017-04-01 00:00:00 127.0 261.0 0.81 2017-04-01 01:00:00 133.0 268.0 0.79 2017-04-01 02:00:00 119.0 273.0 0.92 2017-04-01 03:00:00 118.0 263.0 0.78 2017-04-01 04:00:00 135.0 271.0 0.86 2017-04-01 05:00:00 130.0 257.0 0.82 2017-04-01 22:00:00 120.0 261.0 0.78 2017-04-01 23:00:00 121.0 272.0 0.83 2017-04-02 00:00:00 126.0 263.0 0.90 2017-04-02 01:00:00 132.0 266.0 0.83 2017-04-02 02:00:00 132.0 275.0 0.90 2017-04-02 03:00:00 122.0 259.0 0.77 2017-04-02 04:00:00 119.0 271.0 0.78 2017-04-02 05:00:00 122.0 259.0 0.81 2017-04-02 22:00:00 115.0 264.0 0.87 2017-04-02 23:00:00 129.0 273.0 0.86 df = offpeak_hist.shift(-1, freq='H').resample('D').sum().dropna() print (df) Maximum Demand (KVA) Consumption (KVAh) Power Factor Timestamp 2017-04-01 1003.0 2126.0 6.59 2017-04-02 997.0 2130.0 6.72 

Если я правильно вас понимаю, вы хотите сделать это:

 off_sum = df.groupby(df.index.time).sum() 

для достижения этой цели:

  Maximum Demand (KVA) Consumption (KVAh) Power Factor 00:00:00 250.0 545.0 1.69 01:00:00 253.0 524.0 1.71 02:00:00 265.0 534.0 1.62 03:00:00 251.0 548.0 1.82 04:00:00 240.0 522.0 1.55 05:00:00 254.0 542.0 1.64 06:00:00 252.0 516.0 1.63 23:00:00 235.0 525.0 1.65 

если нет, вам нужно обновить свой вопрос с помощью желаемого результата.

  • Кажется, что окно прокатки Pandas представляет смещение для свернутых данных
  • Блокировка в файле dask.multiprocessing.get и добавление метаданных в HDF
  • Pandon pandas застрял в версии 0.7.0
  • Именование возвращенных столбцов в функции агрегации Pandas?
  • Reindexing pandas timeseries от объекта dtype до datetime dtype
  • Разбор строки JSON, загруженной из CSV с использованием Pandas
  • python (pandas) объединяет два фрейма данных по индексу
  • pandas concat массивы на groupby
  • Python, извлекающий новый dataframe
  • Python pandas график временного ряда с пробелом
  • объединить несколько столбцов на основе индекса в пандах
  • Python - лучший язык программирования в мире.