2

I have the date :

dateTo=pd.to_datetime('today').strftime('%Y-%m-%d')

And I would like to subtract dateTo to the column of dates:

       number      dates      coord
AC      10      2018-07-10     11.54
AC      10      2018-07-11     11.19
AN       5      2018-07-12     69.40

The desired output would be a new column df['datepond'] with the output of the subtraction. I would like this output to be integers.

What I tried was a response given here Pandas: Subtracting two date columns and the result being an integer:

df['datepond']=(pd.Timestamp(dateTo)-pd.to_datetime(df['dates']))/ np.timedelta64(1, 'D')

In version numpy 1.12.1 it worked pretty good but im now at numpy 1.15.2 and it outputs

TypeError: data type "datetime" not understood

How could I obtain the desired output?

jpp
  • 159,742
  • 34
  • 281
  • 339
JamesHudson81
  • 2,215
  • 4
  • 23
  • 42

1 Answers1

4

You can try Timestamp.floor for remove times and for convert timedeltas to days Series.dt.days:

df['datepond']= (pd.to_datetime('today').floor('d') - pd.to_datetime(df['dates'])).dt.days
print (df)
    number       dates  coord  datepond
AC      10  2018-07-10  11.54        97
AC      10  2018-07-11  11.19        96
AN       5  2018-07-12  69.40        95
jezrael
  • 822,522
  • 95
  • 1,334
  • 1,252