pandas.DataFrame.abs#
- DataFrame.abs()[源代码]#
返回一个 Series/DataFrame,其中包含每个元素的绝对数值。
此函数仅适用于所有元素均为数值的情况。
- 返回:
- 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
带有复数的 Series 中的绝对数值。
>>> 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[us]
使用 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