Каков наилучший способ обработки нулевых знаменателей при делении столбцов Pandas DataFrame друг на друга в Python? например:Обработка нулей в pandas Разделы столбцов DataFrames в Python
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
Как я могу сделать это только для определенных столбцов, а не всего ФР?
Если вы просто используете поплавки, вы получите +/- 'inf' – askewchan
@askewchan: для меня это не работает - см. править – user248237dfsf