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'
我认为需要减去 datetime
s,因此有必要在 now
和 Created_Date
列中转换 date
,最后将 timedelta
s 转换为使用天数 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)
试图用今天的日期减去 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'
我认为需要减去 datetime
s,因此有必要在 now
和 Created_Date
列中转换 date
,最后将 timedelta
s 转换为使用天数 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)