Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.abs

DataFrame.abs()

  Return a Series/DataFrame with absolute numeric value of each element.

  This function only applies to elements that are all numeric.

  Returns:
    abs

      Series/DataFrame containing the absolute value of each element.

  See also

  `numpy.absolute`

    Calculate the absolute value element-wise.

  Notes

  For `complex` inputs, `1.2 + 1j`, the absolute value is \(\sqrt{ a^2 + b^2 }\).

  Examples

  Absolute numeric values in a 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

  Absolute numeric values in a Series with complex numbers.

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

  Absolute numeric values in a Series with a Timedelta element.

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

  Select rows with data closest to certain value using argsort (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