今天和日期之间的差异 python

Difference between today and a date python

我有一个 pandas 数据框,其中一列的格式如下:

0         1983-02-07
1         1989-10-07
2         1969-10-28
3         1967-02-25
4         1982-07-21
             ...    
328970    1995-06-09
328971    1999-01-11
328972    1962-04-01
328973    1996-05-19
328974    1994-03-03
Name: Nascita - Data, Length: 328975, dtype: object

我想做的是

df['datecolumn']-datetime.now()

像这样的东西应该可以工作:

import pandas as pd
from datetime import datetime
data = ["1983-02-07", 
"1989-10-07", 
"1969-10-28", 
"1967-02-25", 
"1982-07-21"]

df = pd.DataFrame(data, columns = ["Date"])
print(df)
df["Date"] = pd.to_datetime(df['Date'])
#df["Difference"] = df["Date"].apply(lambda x: x-datetime.now())

# Alternate code
from dateutil.relativedelta import relativedelta
df["Difference"] = df["Date"].apply(lambda x: relativedelta(datetime.now(), x).years)
print(df)

输出:

Date
0  1983-02-07
1  1989-10-07
2  1969-10-28
3  1967-02-25
4  1982-07-21

Date                   Difference
0 1983-02-07 -13409 days +06:41:00.418879
1 1989-10-07 -10975 days +06:41:00.418728
2 1969-10-28 -18259 days +06:41:00.418671
3 1967-02-25 -19235 days +06:41:00.418630
4 1982-07-21 -13610 days +06:41:00.418591

输出备用代码:

Date
0  1983-02-07
1  1989-10-07
2  1969-10-28
3  1967-02-25
4  1982-07-21

Date  Difference
0 1983-02-07          36
1 1989-10-07          30
2 1969-10-28          49
3 1967-02-25          52
4 1982-07-21          37