Pythonでpandas DataFrame列を互いに分割するときにゼロ分母を処理する最良の方法は何ですか? 例えば:
df = pandas.DataFrame({"a": [1, 2, 0, 1, 5], "b": [0, 10, 20, 30, 50]})
df.a / df.b # yields error
分母が0の比率を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全体ではなく、特定の列に対してのみ行うにはどうすればよいですか?