У меня есть следующая проблема. У меня есть набор данных, который имеет начало (STRTTIME) и время окончания (ENDTIME) поездки в военном формате времени. Я хочу выяснить количество поездок за каждый 15-минутный прирост времени. Моя цель - определить количество поездок, которые происходят в каждый 15-минутный период времени, начиная с 0000 до 2359 (96 временных интервалов). Я могу написать 96 фиктивных переменных в excel и сделать это, но я предпочел бы иметь некоторый код в R или Python (я изучаю оба, так что мои знания являются рудиментарными). Я могу поместить счетчик, а затем увеличить, но я не уверен, как иметь дело с двумя переменными времени и обнаруживать, что я нахожусь в зависании. Мой пример ниже. Here is some sample data (в формате CSV).Код для определения числа 15-минутных периодов
- Предположим, что поездка начинается в 0805 и заканчивается в 0840, то каждый 15-минутный период будут иметь следующие значения:
- 0000-0015 - 0
- 0015-0030 - 0
- ....
- 0800-0815 - 2/3
- 0815-0830 - 1
- 0830-0845 - 2/3
- 0845-09 00 - 0
- ...
- 2330-2345 - 0
- 2345-2400 - 0
- Пусть другая поездка начинается в 0810 и заканчивается в 0850, то каждый 15-минутный период будет иметь следующий значения:
- 0000-0015 - 0
- 0015-0030 - 0
- ....
- 0800-0815 - 1/3
- 0815-0830 - 1
- 0830-0845 - 1
- 0845-0900 - 1/3
- ...
- 2330-2345 - 0
- 2345-2400 - 0
- После обработки этих двух записей значения в фиктивных полях за 15 минут будут следующими (т.е. она увеличивается его значением поля в предыдущей записи):
- 0000-0015 - 0
- 0015-0030 - 0
- ....
- 0800-0815 - 1
- 0815-0830 - 2
- 0830-0845 - 5/3
- 0845-0900 - 1/3
- ...
- 2330-2345 - 0
- 2345-2400 - 0
Любой код, чтобы сделать это очень ценится.
Почему 805 2/3? Разумеется, это будет 1/3 из 15-минутного временного интервала 800-815? – BeRecursive
Ну, где именно вы застряли? Вы узнали о модуле CSV и знаете, как читать CSV-файл?Вы узнали о модулях time/datetime и знаете, как создавать время и делать расчеты времени? Знаете ли вы, что, вероятно, неплохо хранить значения как плавающие из-за проблем округления? Вы знаете о списках и/или диктофонах? –
@BeRecursive: поездка начинается с 0805 и продолжается до 08:15, поэтому она занимает 2/3 от 15-минутного временного интервала между 08:00 и 08:15. –