尝试用今天的日期减去 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
转换为天数使用 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
关于python - Pandas - Python - 如何减去两个不同的日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51646101/