您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Pythonic计算pandas数据帧条纹的方法

5b51 2022/1/14 8:22:54 python 字数 1828 阅读 553 来源 www.jb51.cc/python

给定df df = pd.DataFrame([[1, 5, 2, 8, 2], [2, 4, 4, 20, 2], [3, 3, 1, 20, 2], [4, 2, 2, 1, 3], [5, 1, 4, -5, -4], [1, 5, 2, 2, -20], [2, 4, 4, 3, -8], [3, 3, 1, -1, -1], [4, 2, 2, 0, 12]

概述

基于this answer,我创建了一个计算条纹(向上,向下)的函数.

功能很好,但很长.我确信写这个有更好的方法.我尝试了另一个答案,但效果不佳.

这是所需的输出

使用它:

首先,使用np.sign计算所考虑的列中存在的每个单元的符号.这些将1分配给正数,将-1分配给负数.

接下来,使用sign!= sign.shift()来识别相邻值的集合(比较当前单元格和它的下一个)并获取它将在分组过程中使用的累积和.

执行groupby,将这些作为键/条件,并再次获取子组元素的累积和.

最后,将正计算的cumsum值分配给ustreak,将负的值(取其模数后的绝对值)分配给dstreak.

总结

以上是编程之家为你收集整理的Pythonic计算pandas数据帧条纹的方法全部内容,希望文章能够帮你解决Pythonic计算pandas数据帧条纹的方法所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶