我有一个数据框dayData
,它包括下列列'ratio'
和{
Name: ratio, dtype: float64 first power
Name: first_power, dtype: object average power
ratio average_power
0 5 8.0
1 6 4.0
2 7 0.0
3 0 6.0
4 8 5.0
5 9 4.0
6 8 2.0
7 7 8.0
8 6 0.0
9 5 5.0
10 8 4.0
我的下一个步骤是通过使用以下公式将两列分开来创建第二阶幂:
^{pr2}$很明显,你不能除以0,所以如果平均_幂为0,我试图将第二阶_阶跃幂设为0,但是我得到了错误:
ZeroDivisionError: float division by zero
有人能告诉我正确的零处理方法吗
我的理想输出是:
ratio average_power second_step_power
0 5 8.0 0.625
1 6 4.0 1.500
2 7 0.0 0.000
3 0 6.0 0.000
4 8 5.0 1.600
5 9 4.0 2.250
6 8 2.0 4.000
7 7 8.0 0.875
8 6 0.0 0.000
9 5 5.0 1.000
10 8 4.0 2.000
谢谢
您可以首先将所有值设置为零,然后创建一个掩码来定位具有有效分母的所有行,即
power
大于零(gt(0)
)。最后,使用掩码和loc
来计算second_step_power
。在相关问题 更多 >
编程相关推荐