Pandas - Python - 如何减去两个不同的日期列

Pandas - Python - how to subtract two different date columns

试图用今天的日期减去 created_date 列填充一列,但出现以下错误:TypeError: unsupported operand type(s) for -: 'str' and 'str'

import datetime
now = datetime.date.today()
today = '{0:%m/%d/%Y}'.format(now).format(now)
today
data['Aging'] = today
data['Aging'] = data['Aging'].sub(data['Created_Date'], axis=0)

TypeError:- 的操作数类型不受支持:'str' 和 'str'

我认为需要减去 datetimes,因此有必要在 nowCreated_Date 列中转换 date,最后将 timedeltas 转换为使用天数 dt.days:

import datetime
now = datetime.date.today()
today = pd.Timestamp(now)

data['Created_Date'] = pd.to_datetime(data['Created_Date'])
data['Aging'] = today
data['Aging'] = data['Aging'].sub(data['Created_Date'], axis=0).dt.days

解决方案应该简化:

data['Created_Date'] = pd.to_datetime(data['Created_Date'])
data['Aging'] = data['Created_Date'].rsub(today, axis=0).dt.days

也许,试试这个作为完整代码:

data['Created_Date'] = pd.to_datetime(data['Created_Date'])
data['Aging'] = pd.to_datetime('now')
data['Aging'] = data['Aging'].sub(data['Created_Date'], axis=0)

你想要的,也许:

data['Created_Date'] = pd.to_datetime(data['Created_Date'])
data['Aging'] = pd.to_datetime('now').strftime('%m/%d/%Y')
data['Aging'] = data['Aging'].sub(data['Created_Date'], axis=0)