【发布时间】:2017-04-17 22:22:30
【问题描述】:
在过去的两天里,我一直在思考这个问题,我正处于放弃的边缘。
我有一个名为Renewed_subscription 的列,格式为datetime。我需要知道从今天到一个人必须续订订阅的日期之间有多少天。
from datetime import datetime
dataset['DaysUntilSub'] = dataset.apply(lambda x: (pd.Timestamp.today().strftime('%Y-%m-%d') - str(dataset['Renewed_subscription'])).days, axis=1)
它抛出错误:
TypeError Traceback(最近一次调用最后一次)
C:\Report.py in ()
--> 166 dataset['DaysUntilSub'] = dataset.apply(lambda x: (pd.Timestamp.today().strftime('%Y-%m-%d') - str(dataset['Renewed_subscription '])).days,axis=1)
168 #dataset['DaysUntilSub'] = dataset.apply(lambda x: (pd.Timestamp.today().strftime('%Y-%m-%d') - str(dataset['Renewed_subscription'] )).days,axis=1)
C:\Users\katep\Anaconda3\lib\site-packages\pandas\core\frame.py in apply(self, func, axis, broadcast, raw, reduce, args, **kwds)
4150 如果 reduce 为 None: 4151减少=真 -> 4152 返回self._apply_standard(f,轴,减少=减少) 4153 其他: 第4154章
C:\Users\katep\Anaconda3\lib\site-packages\pandas\core\frame.py in _apply_standard(self, func, axis, ignore_failures, reduce)
4246 尝试:
4247 for i, v in enumerate(series_gen):
-> 4248 个结果[i] = func(v)
4249 个keys.append(v.name)
4250 例外为 e:
C:\Report.py in (x)
TypeError: ("unsupported operand type(s) for -: 'str' and 'str'", 'occured at index 42')
如果您能指出我的错误,我将不胜感激,因为我无法继续进行分析!
【问题讨论】:
-
你能读懂你自己的问题吗?!想象我们……
-
对不起,我把问题格式化了。