Sum*_*ena 3 python divide-by-zero pandas
我有以下数据:
a = pd.Series([1, 2, 3])
b = pd.Series([0, 0, 0])
Run Code Online (Sandbox Code Playgroud)
如果被零除,在某些情况下我想
但是以下给出了“意外”结果:
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)
df.replace分割后可以使用:
(a / b).replace(np.inf, 0)
0 0.0
1 0.0
2 0.0
dtype: float64
(a / b).replace(np.inf, a)
0 1.0
1 2.0
2 3.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
是否也想处理负无穷大?你需要:
(a / b).replace((np.inf, -np.inf), (a, a))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3676 次 |
| 最近记录: |