首页 > 解决方案 > Python pandas 将绝对值添加到系列中的正数/负数

问题描述

我有一系列正数和负数,并希望将每个数字的绝对值增加一个,同时仍保持它们为正/负。0.2 -> 1.2 -0.3 -> -1.3 我该怎么做?

标签: pythonpandasmathabsolute

解决方案


让我们尝试signnumpy

s=pd.Series([0.2,-0.3])
(s.abs()+1)*np.sign(s)
0    1.2
1   -1.3
dtype: float64

或者np.select

np.select([s>0,s<0],[s+1,s-1],default=1)
array([ 1.2, -1.3])

我们也可以做np.where

np.where(s>=0,s+1,s-1)

推荐阅读