2015-09-22 2 views
0

У меня есть данные о заклинаниях (пребывание в больнице), каждый из которых имеет дату начала и окончания, но я хочу рассчитать количество дней, проведенных в больнице на календарные месяцы. Конечно, это число может быть ноль в течение месяцев, не появляющихся в заклинании. Но я не могу просто отнести длину каждого заклинания к стартовому месяцу, так как более длительные заклинания переходят к следующему месяцу (или более).Сократить время заклинания в календарные месяцы в пандах

В принципе, было бы достаточно для меня, если бы я мог сократить заклинания рубежа месяца DateTimes, получение из данных в первом примере данных, во втором:

id     start      end 
1  2011-01-01 10:00:00  2011-01-08 16:03:00 
2  2011-01-28 03:45:00  2011-02-04 15:22:00 
3  2011-03-02 11:04:00  2011-03-05 05:24:00 

id     start      end  month  stay 
1  2011-01-01 10:00:00  2011-01-08 16:03:00 2011-01   7 
2  2011-01-28 03:45:00  2011-01-31 23:59:59 2011-01   4 
2  2011-02-01 00:00:00  2011-02-04 15:22:00 2011-02   4 
3  2011-03-02 11:04:00  2011-03-05 05:24:00 2011-03   3 

Я прочитал на Time Series/Date functionality из панд, но я не вижу прямого решения этого. Как можно выполнить нарезку?

ответ

-2

Это проще, чем вы думаете: просто вычтите даты. Результатом является временной интервал. См Add column with number of days between dates in DataFrame pandas

Вы даже добираетесь, чтобы сделать это для всего кадра сразу: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.subtract.html


Update, теперь, когда я понимаю, что проблема лучше. Добавить новую колонку: взять дату окончания заклинания; если дата начала в другом месяце, установите день новой даты на 01 и время до 00:00.

Это сокращенная дата-время, которую вы можете использовать для вычисления части пребывания, относящейся к каждому месяцу. cut - start - первый месяц; конец - второй.

+1

Как это сокращает время заклинания в конце месяца? –

+0

Я вижу сейчас - английский язык неоднозначен в местах, особенно когда он смешивается с языком программирования. – Prune

Смежные вопросы