[英]Pandas - Python - how to subtract two different date columns
试图用今天的日期减去created_date列填充一列,但出现以下错误:TypeError:-的不支持的操作数类型:'str'和'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
,所以有必要在now
和Created_Date
列中转换date
,最后将timedelta
转换为天使用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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.