pandas.DataFrame.abs #

数据框。绝对( ) [来源] #

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

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

返回
腹肌

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]

使用 argsort (来自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