Поскольку вы не предоставляете некоторые исходные данные, я сам создаю некоторые поддельные данные.Также я не уверен, что вы хотите сравнить Start date
с End date
из вашего описания.Если я вас неправильно понял, пожалуйста, оставьте комментарий ниже.
In [10]: import pandas as pd
In [11]: import numpy as np
In [12]: df1 = pd.DataFrame({"A":[1,2], "Start":[20190302, 20190401], "End": [20190304, 20190402]})
In [13]: df1
Out[13]:
A Start End
0 1 20190302 20190304
1 2 20190401 20190402
In [14]: df2 = pd.DataFrame(df1.values.repeat((df1.End - df1.Start > 1) + 1, axis=0), columns=df1.columns)
In [15]: df2
Out[15]:
A Start End
0 1 20190302 20190304
1 1 20190302 20190304
2 2 20190401 20190402
Если вам нужно сравнить фактическую дату, вы можете использовать что-то вроде datetime
lib, чтобы сделать это.Пример формы:
In [28]: import datetime
In [29]: dt1 = datetime.datetime.strptime("11/30/2018 17:13", "%m/%d/%Y %H:%M")
In [30]: dt1
Out[30]: datetime.datetime(2018, 11, 30, 17, 13)
In [31]: dt2 = datetime.datetime.strptime("11/29/2018 17:13", "%m/%d/%Y %H:%M")
In [32]: dt3 = datetime.datetime.strptime("11/28/2018 17:13", "%m/%d/%Y %H:%M")
In [33]: dt1 - dt2
Out[33]: datetime.timedelta(days=1)
In [34]: (dt1 - dt2).days
Out[34]: 1
In [35]: (dt1 - dt3).days
Out[35]: 2