pandas.Series.abs#
- Series.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
带有复数的序列中的绝对数值。
>>> 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