Панды - Как пересчитать расчетное время прибытия с обновленными событиями - PullRequest
0 голосов
/ 11 декабря 2019

У меня есть фрейм данных, который содержит эти события:

                       ID           m1          m2          m3   m4
1   xxxx/xxxxx.0183683234   2019-10-28  2019-11-28  2019-11-30  NaT
2   xxxx/xxxxx.0183679721   2019-11-28  2019-11-28         NaT  NaT
4   xxxx/xxxxx.0183888975   2019-11-20  2019-12-10         NaT  NaT

Эти события происходят во временной последовательности. Это означает, что:

m1 <м2 <м3 <m4 <... <mn </p>

Цель состоит в том, чтобы оценить m3 и m4 до того, как это действительно произойдет.

Для этого я использую masterdata, который дает мне длительность между m2 и m3 и m3 и m4.

Ожидаемый результат:

            xxxxxxxxxxID            m1          m2          m3   m4    M2_M3          M3_M4    m3_estimated   m4_estimated
1   xxxx/xxxxx.0183683234   2019-10-28  2019-11-28  2019-11-30  NaT   2 days         9 days      2019-11-30     2019-12-09
2   xxxx/xxxxx.0183679721   2019-11-28  2019-11-28         NaT  NaT   2 days         6 days      2019-11-30            NaT
4   xxxx/xxxxx.0183888975   2019-11-20  2019-12-10         NaT  NaT   6 days         1 days      2019-12-16            NaT

Я хочу пересчитатькаждый раз m3 и m4 больше не равны нулю.

Вот функции, которые я пробовал, но они на самом деле не работают:

def m3_estimated(df):

        if df['m2']!= None:
            return pd.to_datetime(df['m2']) + df['M2_M3']
        else: 
             None

def m4_estimated(df):

        if df['m3'] != None:
            return pd.to_datetime(df['m3']) + df['M3_M4']
        else:
             None 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...