Вычислить разницу в днях между двумя переменными даты - Python - PullRequest
0 голосов
/ 25 октября 2018

У меня есть две переменные даты, и я попытался вычислить разницу в днях между ними с помощью:

from datetime import date, timedelta,datetime

date_format = "%Y/%m/%d"
a = datetime.strptime(df.D1, date_format)
b = datetime.strptime(df.D2, date_format)

df['delta'] = b - a
print delta.days

Но я получаю эту ошибку:

TypeError: strptime() argument 1 must be str, not Series

Как могЯ сделаю это?Переменные являются объектами, я должен преобразовать их в Datatime64?

1 Ответ

0 голосов
/ 25 октября 2018

Поскольку вы работаете с pandas, вы можете использовать pd.to_datetime вместо datetime пакета:

# Convert each date column to datetime:
df['D1'] = pd.to_datetime(df.D1,format='%Y/%m/%d')
df['D2'] = pd.to_datetime(df.D2,format='%Y/%m/%d')

# With 2 datetime Series, a simple subtraction will give you a Timedelta column:
df['delta'] = df.D1 - df.D2

Например:

>>> df
           D1          D2
0  2015/05/18  2014/06/21
1  2015/10/18  2014/08/14

df['D1'] = pd.to_datetime(df.D1,format='%Y/%m/%d')
df['D2'] = pd.to_datetime(df.D2,format='%Y/%m/%d')
df['delta'] = df.D1 - df.D2

>>> df
           D1          D2    delta
0  2015/05/18  2014/06/21 331 days
1  2015/10/18  2014/08/14 430 days
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...