在Python中,将pandas数据帧列彼此分隔时,处理零分母的最佳方法是什么?例如:
df = pandas.DataFrame({"a": [1, 2, 0, 1, 5], "b": [0, 10, 20, 30, 50]})
df.a / df.b # yields error
我希望分母为零的比率注册为NA(numpy.nan
)。如何在熊猫身上有效地做到这一点?
转换为float64
在列级别不起作用:
In [29]: df
Out[29]:
a b
0 1 0
1 2 10
2 0 20
3 1 30
4 5 50
In [30]: df["a"].astype("float64") / df["b"].astype("float64")
...
FloatingPointError: divide by zero encountered in divide
我怎么能只针对特定的列而不是整个df呢?
你需要在浮点运算,否则你将有整数除法,可能不是你想要的
有一个办法
这是另一种方法
相关问题 更多 >
编程相关推荐