相关疑难解决方法(0)

处理pandas中的零DataFrames Python中的列分区

在Python中将pandas DataFrame列彼此分开时,处理零分母的最佳方法是什么?例如:

df = pandas.DataFrame({"a": [1, 2, 0, 1, 5], "b": [0, 10, 20, 30, 50]})
df.a / df.b  # yields error
Run Code Online (Sandbox Code Playgroud)

我想将分母为零的比率注册为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
Run Code Online (Sandbox Code Playgroud)

我怎么能只为特定列而不是整个df做到这一点?

python numpy dataframe pandas

12
推荐指数
1
解决办法
1万
查看次数

在熊猫计算中处理零除

我有以下数据:

a = pd.Series([1, 2, 3])
b = pd.Series([0, 0, 0])
Run Code Online (Sandbox Code Playgroud)

如果被零除,在某些情况下我想

  1. 将结果设置为系列之一
  2. 将结果设置为特定值

但是以下给出了“意外”结果:

a.div(b, fill_value = 0)
0    inf
1    inf
2    inf

a.div(b).fillna(0)
0    inf
1    inf
2    inf

a.div(b).combine_first(a)
0    inf
1    inf
2    inf
Run Code Online (Sandbox Code Playgroud)

我想到达:

情况1:将数据设置为特定值

0    0
1    0
2    0
Run Code Online (Sandbox Code Playgroud)

情况2:将值设置为特定的序列

0    1
1    2
2    3
Run Code Online (Sandbox Code Playgroud)

python divide-by-zero pandas

3
推荐指数
1
解决办法
3676
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

divide-by-zero ×1

numpy ×1