Python pandas Рассчитать разницу между двумя столбцами меток времени в кадре данных, исключая выходные в секундах - PullRequest
1 голос
/ 17 января 2020

У меня есть 2 столбца с меткой времени, мне нужна разница между ними в секундах в 3-м столбце, исключая выходные. Как я должен сделать это в Python / pandas? Я хочу исключить субботу / воскресенье из графика. Экс - 1. Начинается в четверг / пятницу и заканчивается в понедельник / вторник. Вычисляйте продолжительность только для времени, в течение которого он находился между четвергом / пятницей и затем непосредственно понедельником / вторником. 2 Если он начинается в субботу и заканчивается в понедельник - рассчитывайте только на понедельник. 3 Если ex.Star начинается в пятницу и заканчивается в воскресенье, рассчитывайте только на пятницу. 4 Если начинается и заканчивается в субботу и воскресенье - результат 0 секунд

1 Ответ

0 голосов
/ 17 января 2020

Во-первых, конвертируйте метку времени в обоих столбцах в DateTime , если нет, то она уже в этом формате.

Во-вторых, найдите, является ли день выходным или рабочим днем, и используйте метод total_seconds, чтобы найти разницу в секундах следующим образом:

def find_diff_in_secs(row):
    day_of_week = row["start"].weekday()

    if day_of_week<5:
        #          Find the diff in secs
        diff_in_secs =(row["end"]-row["start"]).total_seconds()
        return diff_in_secs
    else:
        return "NA"

df.apply(find_diff_in_secs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...