2015-04-27 2 views
3

У меня есть кадр панды данных, каквычитать текущее время от даты панды колонок

x = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate']) 

Я хочу, чтобы узнать количество дней между датами в myDate столбце и текущей датой. Как я могу это сделать? Я попытался ниже без особого успеха

pd.to_datetime(x['myDate']) - pd.datetime.now().date() 
+0

вы могли бы опубликовать pandas, numpy version, также попробуйте m y последний снипп это работает отлично для меня, также, когда вы говорите, не работает, пожалуйста, покажите любые ошибки и результат/результат, который не сработал – EdChum

ответ

6

следующие работы для меня:

In [9]: 

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate']) 
df['myDate']= pd.to_datetime(df['myDate'], coerce=True) 
df 
Out[9]: 
     myDate 
0 2015-05-06 
1 2015-06-22 
2  NaT 
In [10]: 

df['diff'] = df['myDate'] - dt.datetime.now().date() 
df 
Out[10]: 
     myDate diff 
0 2015-05-06 9 days 
1 2015-06-22 56 days 
2  NaT  NaT 

Как делает свою версию:

In [13]: 

df['diff'] = df['myDate'] - pd.datetime.now().date() 
df 
Out[13]: 
     myDate diff 
0 2015-05-06 9 days 
1 2015-06-22 56 days 
2  NaT  NaT 

Более компактная версия:

In [15]: 

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate']) 
df['diff']= pd.to_datetime(df['myDate'], coerce=True) - pd.datetime.now().date() 
df 
Out[15]: 
      myDate diff 
0 05/06/2015 00:00 9 days 
1 22/06/2015 00:00 56 days 
2    None  NaT 
+0

Спасибо - это ключевое слово coerce полезно :) – mark

Смежные вопросы