Это несколько удивительно, насколько сложно это вычислить разницу между два раза в Python. Следующий код предназначен для разницы в минутах, но вы можете изменить это на недели или другие атрибуты.
# Compute the difference between two time values
import datetime
df = pd.DataFrame({'ATime1' : ['8/26/2016 10:00','8/26/2016 10:01','8/26/2016 10:02','8/26/2016 10:03'], 'BBB' : [10,20,30,40],'CCC' : [100,50,-30,-50], 'ATime2' : ['8/26/2016 10:01','8/26/2016 10:02','8/26/2016 10:03','8/26/2016 10:04']})
s1 = pd.Series(df['ATime1']) # Select one column of the dataframe and convert to a Series
s2 = pd.Series(df['ATime2'])
s1 = pd.to_datetime(s1) # Convert the Series object values to datetime values
s2 = pd.to_datetime(s2)
m1 = s1.dt.minute # Select minutes from the datetime values
m2 = s2.dt.minute
t1 = m1.loc[1] # Select the first minutes value in the column
t2 = m2.loc[1]
t1 = int(t1) # Convert minutes to integer
t2 = int(t2)
diff = t2 - t1
if t2 > t1:
print "ATime2 starts later than Atime1 by ", diff, " minute(s)."
else:
print "ATime1 starts later than Atime2 by ", diff, " minute(s)."
print t1, t2
Можете ли вы просто использовать разницу во времени и разделить на 7? –
nope. начало моей недели начинается с понедельника. две даты, которые я представил выше, 20-дек-2016 находятся в пятницу. поэтому в следующий понедельник после этой даты состоится 05-Dec-2016. так что за два дня до понедельника. 10-янв-2017 находится во вторник. Так что в воскресенье до этого 08-янв-2017. Разница дней здесь снова через 2 дня после понедельника. Таким образом, разница в общей неделе составляет 5 недель. –
@SumanBhandari. Вам нужно будет уточнить. –