在熊猫展开/滚动功能中,如何使用数据框或系列的索引?

时间:2018-08-09 19:15:15

标签: python pandas datetime dataframe

假设我有一个带有日期时间索引的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传递?还有另一种使用扩展/滚动功能访问索引的方法吗?

1 个答案:

答案 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])