背景
在用第三方库Numpy计算同比或者环比的时候,经常会遇到基期(分母)的指标值为0的情况,这样计算出来的同比或者环比的数据类型就会变为inf(infinite),即无穷,如下图:
问题
- 客观:从业务的角度来说,inf这个数据类型是没有参考意义的
- 主观:从数据分析的角度来说,inf会为后面的数据分析带来麻烦
解决
1.过滤
主要用 np.isinf() 来定位inf数据,此时s是pandas中的series数据类型,np.isinf(s)返回的是一个带有索引的一维数组,其值为True或者False,将过滤条件限定为False,即过滤出了s中非inf的数据。
2.替换
主要用 np.isinf() 来定位inf数据,此时s是pandas中的series数据类型,np.isinf(s)返回的是一个带有索引的一维数组,其值为True或者False,再将这个结果作为s[ ]过滤的条件,最后将过滤出来的结果赋值为0,即完成了替换。
注意,也可以替换为异质性数据,例如字符串。因为Series属于pandas中的数据结构,pandas可以同时处理异质性的数据。