dask_expr._collection.DataFrame.abs
dask_expr._collection.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