Was ist der beste Weg, Zero Nenner zu behandeln, wenn Pandas DataFrame Spalten in Python voneinander zu trennen? zum Beispiel:Umgang mit Nullen in Pandas DataFrames Spaltenunterteilungen in Python
df = pandas.DataFrame({"a": [1, 2, 0, 1, 5], "b": [0, 10, 20, 30, 50]})
df.a/df.b # yields error
würde ich die Verhältnisse mag, wo der Nenner Null ist, wie NA registriert sein (numpy.nan
). Wie kann dies in Pandas effizient gemacht werden?
Casting zu float64
funktioniert nicht auf der Ebene der Spalten:
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
Wie kann ich es tun, nur für bestimmte Spalten und nicht ganzen df?
Wenn Sie verwenden nur Floats, Sie erhalten +/- 'inf' – askewchan
@askewchan: es funktioniert nicht für mich - siehe bearbeiten – user248237dfsf