当你运行s.expanding().func
时,它会在大小增加的系列上运行func。
我有一个系列s
,其中索引是MultiIndex。重要的是日期。许多日期重复。我想运行expanding
,这样每次迭代不会扩展1行,而是会在整个下一个日期扩展。
Hacky的做法是在按日期排序的列表上进行扩展,然后记录每个日期的最后一个实例,但我想知道是否会有更清晰的方法来执行此操作?
编辑: 我上面列出的方法是SUPER慢,因为它在每个位置计算而不是每隔一段时间计算一次,因此我希望找到一种方法使其更快并且可能坚持使用本机Numpy或Pandas函数
答案 0 :(得分:0)
cur_dat = pd.DataFrame()
ret = {}
for key, new_dat in df.groupby(group_keys)
cur_dat = cur_dat.append(new_dat)
#DO STUFF
ret[key] = return_Value
这也可以让您对如何组合数据进行大量控制。偶尔我会在其系列之前取消堆叠并将其全部附加(如melt
中的R
)。
简单的解决方案,只读了GroupBy和core.Windows中的所有Pandas源代码来提出它:)