pandas.Series.abs#

Series.abs()[源代码]#

返回一个具有每个元素的绝对数值的Series/DataFrame。

此函数仅适用于全部为数字的元素。

退货
ABS

包含每个元素绝对值的Series/DataFrame。

参见

numpy.absolute

按元素计算绝对值。

注意事项

complex 输入, 1.2 + 1j ,其绝对值为 \(\sqrt{{ a^2 + b^2 }}\)

示例

系列中的绝对数值。

>>> s = pd.Series([-1.10, 2, -3.33, 4])
>>> s.abs()
0    1.10
1    2.00
2    3.33
3    4.00
dtype: float64

具有复数的级数中的绝对数值。

>>> s = pd.Series([1.2 + 1j])
>>> s.abs()
0    1.56205
dtype: float64

具有Timedelta元素的系列中的绝对数值。

>>> s = pd.Series([pd.Timedelta('1 days')])
>>> s.abs()
0   1 days
dtype: timedelta64[ns]

使用argsorte(From)选择数据最接近特定值的行 StackOverflow )。

>>> df = pd.DataFrame({
...     'a': [4, 5, 6, 7],
...     'b': [10, 20, 30, 40],
...     'c': [100, 50, -30, -50]
... })
>>> df
     a    b    c
0    4   10  100
1    5   20   50
2    6   30  -30
3    7   40  -50
>>> df.loc[(df.c - 43).abs().argsort()]
     a    b    c
1    5   20   50
0    4   10  100
2    6   30  -30
3    7   40  -50