【问题标题】:How to do a grouped expanding如何进行分组扩展
【发布时间】:2017-06-22 18:52:42
【问题描述】:

当您运行 s.expanding().func 时,它将在系列规模增加时运行 func。 我有一个系列s,其中索引是 MultiIndex。重要的级别是日期。许多日期重复。我想运行expanding,这样每次迭代不会扩展 1 行,而是会在整个下一个日期扩展。

Hacky 的做法是在按日期排序的列表上运行扩展,然后获取每个日期的最后一个实例,但我想知道是否有更简洁的方法?

编辑: 我上面列出的方法超级慢,因为它在每个位置计算而不是每隔一段时间计算一次,所以我正在寻找一种方法让它更快,并可能坚持使用原生 Numpy 或 Pandas 函数

【问题讨论】:

    标签: python python-3.x pandas numpy pandas-groupby


    【解决方案1】:
    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
    

    这也让您可以控制如何组合数据。有时我会取消堆叠,直到它成为一个系列并将其全部附加(例如 R 中的 melt)。

    简单的解决方案,只需要阅读 GroupBy 和 core.Windows 中的所有 Pandas 源代码就可以想出它:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 2021-02-14
      • 2013-11-19
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多