微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在关注NaN值的同时获取数据框中值的百分比变化?

我有以下DataFrame:

   Date                 A                
   2015-01-01          10               
   2015-01-02          14               
   2015-01-05          NaN               
   2015-01-06          NaN                
   2015-01-07          5
   2015-01-10          1  
   2015-01-11          NaN  
   2015-01-12          21  
   2015-01-14          13 

并且我希望只有当这两个值相邻且没有被NaN分隔时,才能获得数据帧中pct更改的数据帧.

即我想这样:

        Date                 A                             
       2015-01-02         0.2857                           
       2015-01-10         -0.8  
       2015-01-14         -0.38

但是,如果我这样做:df.pct_change()它将返回14-01到201-01-07之间的pct变化

解决方法:

使用pct_change和shift:

df.pct_change()[df.shift(1).notnull()].dropna()

输出

                   A
Date                
2015-01-02  0.400000
2015-01-10 -0.800000
2015-01-14 -0.380952

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐