跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 有没有 reset 的 cumsum 函数
未分類
26 10 月 2020

有没有 reset 的 cumsum 函数

有没有 reset 的 cumsum 函数

資深大佬 : admirez 3

比如[-1,-1,-1,1,1,1,1,-1,-1 ]。

能变成 -1,-2,-3,1,2,3,4,-1,-2

最好是高效率的

大佬有話說 (3)

  • 資深大佬 : necomancer

    a = np.array([-1,-1,-1,1,1,1,1,-1,-1])
    bounds = np.r_[0, np.argwhere(np.diff(a>0, prepend=0)).ravel(), a.shape[0]]
    np.concatenate([np.cumsum(a[i:j]) for i, j in zip(bounds[:-1], bounds[1:])])

  • 資深大佬 : necomancer

    可能快一点,尤其是 1, -1 交错很厉害的时候
    import pandas as pd
    b = pd.Series(np.insert(a, np.argwhere(np.diff(a>0, prepend=0)).ravel(), 0))
    cum = b.cumsum()
    cum = (cum -cum.where(b==0).ffill().fillna(0)).values
    cum = cum[cum!=0]

  • 主 資深大佬 : admirez

    @necomancer 非常感谢,我试试看

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具