【发布时间】:2016-06-23 14:17:36
【问题描述】:
我有一个带有日期列(不是日期时间索引)的数据框。我想创建另一个列,其值为今天减去日期列中的日期。我可以将其作为矢量化操作ts['days ago'] = dt.date.today() -ts['foo']
但这给了我一个 Timedelta 对象,而我想要一个 int。 Timedelta 有一个属性.days,它返回一个int。但是我看不到如何向量化这个操作来创建一个如下所示的“days ago as int”列,因为向量减法给了我一个系列,而不是一个 Timedelta。
rng = pd.date_range('6/1/2016', periods=10, freq='D')
ts = pd.Series(rng, index=range(10)).to_frame()
ts.columns = ['foo']
ts['days ago'] = dt.date.today() -ts['foo']
ts['days ago as int'] = "?"
print ts.ix[3]['days ago'].days
# doesn't work
ts['days ago as int'] = ts.ix[:]['days ago'].days
ts
【问题讨论】: