Pandas-Python-如何减去两个不同的日期列[英] Pandas - Python - how to subtract two different date columns

本文是小编为大家收集整理的关于Pandas-Python-如何减去两个不同的日期列的处理方法,想解了Pandas-Python-如何减去两个不同的日期列的问题怎么解决?Pandas-Python-如何减去两个不同的日期列问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

试图用今天的日期填充一列,减去create_date列,但是获取以下错误:typeError:未支撑的操作数类型 - :'str''和'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,因此必要convert date在now和Created_Date列中,最后对timedelta s tor convert timedelta s to天使用 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)

本文地址:https://www.itbaoku.cn/post/1728023.html