【Pandas】pandas DataFrame abs

Pandas2.2 DataFrame

Computations descriptive stats

方法 描述
DataFrame.abs() 用于返回 DataFrame 中每个元素的绝对值

pandas.DataFrame.abs()

pandas.DataFrame.abs() 方法用于返回 DataFrame 中每个元素的绝对值。该方法适用于包含数值型数据的 DataFrame,对负数取正,正数保持不变。


一、方法签名
python 复制代码
DataFrame.abs()
参数说明:
  • 无参数。
返回值:
  • 返回一个新的 DataFrame,其形状与原 DataFrame 相同,其中每个元素是原元素的绝对值。

二、示例及结果
示例1:基本使用
python 复制代码
import pandas as pd

df = pd.DataFrame({
    'A': [-1, -2, 3],
    'B': [4, -5, -6]
})

result = df.abs()
print(result)

输出:

复制代码
   A  B
0  1  4
1  2  5
2  3  6

解释:

  • 所有负数被转换为正数,正数保持不变。

示例2:包含浮点数和负零
python 复制代码
df = pd.DataFrame({
    'X': [-0.1, 2.5, -3.7],
    'Y': [0, -10.3, 15.2]
})

result = df.abs()
print(result)

输出:

复制代码
     X     Y
0  0.1   0.0
1  2.5  10.3
2  3.7  15.2

解释:

  • 浮点数的绝对值也被正确计算。
  • -0.0 被转换为 0.0

示例3:处理 NaN
python 复制代码
import numpy as np

df = pd.DataFrame({
    'P': [-1, np.nan, 3],
    'Q': [np.nan, -5, -6]
})

result = df.abs()
print(result)

输出:

复制代码
     P    Q
0  1.0  NaN
1  NaN  5.0
2  3.0  6.0

解释:

  • NaN 值保持不变,不会参与计算。

三、适用场景
场景 描述
数据清洗 将负值统一转为正值,如温度、误差等数据。
特征工程 在机器学习中构造新特征时,去除符号影响。
统计分析 计算偏差、误差等指标时,仅关注大小不关心方向。

四、注意事项
  • 只能作用于数值型列(int、float),非数值类型列会被忽略或抛出错误。
  • 不会修改原始 DataFrame,而是返回一个新的对象。
  • NaN 值不做处理,保留原样。

五、总结
特性 描述
功能 返回 DataFrame 每个元素的绝对值
适用类型 数值型(int、float)
NaN 处理 保留原值
是否修改原数据 否,返回新 DataFrame

abs() 是一个简单但实用的方法,常用于数据预处理和特征工程中,帮助消除数值的符号影响。

相关推荐
Calihen的学习日志18 小时前
【Pandas】3.1-数据预处理:列的基本操作
python·pandas
Source.Liu2 天前
【Python自动化】 21.2 Pandas 读取 Excel 时的 dtype 参数完全指南
python·自动化·pandas
Source.Liu2 天前
【Python自动化】 21 Pandas Excel 操作完整指南
python·excel·pandas
Source.Liu2 天前
【Python自动化】 21.1 Pandas 读取 Excel 文件的完整指南
python·自动化·pandas
偷心伊普西隆3 天前
Pandas DataFrame 指南
python·数据分析·pandas
chad__chang9 天前
Pandas的数据结构
数据结构·pandas
老歌老听老掉牙11 天前
Pandas DataFrame 列数操作完全指南
python·pandas
万粉变现经纪人12 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘websockets’问题
ide·pycharm·beautifulsoup·pandas·fastapi·pip·httpx
偷心伊普西隆15 天前
Python Excel 通用筛选函数
python·excel·pandas
高级测试工程师欧阳17 天前
python中selenium怎么使用
python·pandas