dask.dataframe.DataFrame.abs

dask.dataframe.DataFrame.abs

DataFrame.abs()

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

此文档字符串是从 pandas.core.frame.DataFrame.abs 复制而来的。

Dask 版本可能存在一些不一致性。

此函数仅适用于所有元素均为数字的情况。

返回
abs

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

参见

numpy.absolute

逐元素计算绝对值。

注释

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

示例

Series 中的绝对数值。

>>> 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 元素的 Series 中的绝对数值。

>>> 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