假设我有一个带有日期时间索引的pandas.Series
:
srs = pd.Series(index = pd.date_range('2013-01-01','2013-01-10' )).fillna(1)
我可以使用expanding
函数来计算该系列的说扩展和。
srs.expanding(5).sum()
但是,我无法使用扩展功能访问该系列的其他属性(例如其索引)。例如,通过运行:
srs.expanding(5).apply(lambda x: x.index[-1])
我得到了错误:
AttributeError: 'numpy.ndarray' object has no attribute 'index'
为什么将组作为numpy
数组而不是pandas.Series
传递?还有另一种使用扩展/滚动功能访问索引的方法吗?
答案 0 :(得分:0)
您可以使用扩展名来访问索引,但前提是索引的类型与值相同。 例如,它可以工作:
s1 = pd.Series(index = range(10)).fillna(1)
s1.expanding(5).agg(lambda x: x.index[-1])
但这不起作用:
srs = pd.Series(index = pd.date_range('2013-01-01','2013-01-10' )).fillna(1)
srs.expanding(5).agg(lambda x: x.index[-1])