Pandas.DataFrame.abs() 绝对值 详解 含代码 含测试数据集 随Pandas版本持续更新

本文主要是介绍Pandas.DataFrame.abs() 绝对值 详解 含代码 含测试数据集 随Pandas版本持续更新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于Pandas版本: 本文基于 pandas2.2.0 编写。

关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。

传送门: Pandas API参考目录

传送门: Pandas 版本更新及新特性

传送门: Pandas 由浅入深系列教程

本节目录

  • Pandas.DataFrame.abs()
    • 语法:
    • 返回值:
    • 计算公式
    • 相关方法:
    • 示例:
      • 例1:求"Age"列所有数值的绝对值,如果有缺失值,则对应位置返回NaN。
        • 例1-1、构建演示数据,并观察数据内容
        • 例1-2、求"Age"列所有数值的绝对值,如果有缺失值,则对应位置返回NaN
      • 例2:如果传入 `DataFrame.abs` 的数据不全是数值类型,会报错 `TypeError`
      • 例3:复数绝对值的计算

Pandas.DataFrame.abs()

Pandas.DataFrame.abs 方法用于返回每个元素的绝对数值。

  • 求绝对值的 DataFrame 允许出现缺失值(NaN)。但缺失值(NaN)的绝对值依然是 `NAN 例1
  • 求绝对值的 DataFrame 所有元素必须都必须全都是数值类型(整数int ,浮点数float ,布尔值bool)。否则将报错 TypeError例2

语法:

DataFrame.abs()

返回值:

  • abs

    返回包含每个元素的绝对值的 SeriesDataFrame

计算公式

  • 常规数值:
    • ∣ x ∣ |x| x
  • 复数(complex): 例3
    • 复数的表现形式: z = a + b i z=a+bi z=a+bi
    • 复数的绝对值计算公式: ∣ z ∣ = a 2 + b 2 |z| = \sqrt{a^2 + b^2} z=a2+b2
  • 布尔值:
    • 布尔值没有绝对值,如果被使用将报错 TypeError

相关方法:

➡️ 相关方法


  • Series.abs

    绝对值

示例:

测试文件下载:

本文所涉及的测试文件,如有需要,可在文章顶部的绑定资源处下载。

若发现文件无法下载,应该是资源包有内容更新,正在审核,请稍后再试。或站内私信作者索要。

测试文件下载位置.png

测试文件下载位置

例1:求"Age"列所有数值的绝对值,如果有缺失值,则对应位置返回NaN。

例1-1、构建演示数据,并观察数据内容
import pandas as pd
import numpy as npdf = pd.DataFrame({"Person":["John", "Myla", "Lewis", "John", "Myla"],"Age": [-24., np.nan, -21., 33, 26],"Single": [False, True, True, True, False]})df
PersonAgeSingle
0John-24.0False
1MylaNaNTrue
2Lewis-21.0True
3John33.0True
4Myla26.0False
例1-2、求"Age"列所有数值的绝对值,如果有缺失值,则对应位置返回NaN
df['Age'].abs()
0    24.0
1     NaN
2    21.0
3    33.0
4    26.0
Name: Age, dtype: float64

例2:如果传入 DataFrame.abs 的数据不全是数值类型,会报错 TypeError

df.abs()
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)  File D:\miniconda3\envs\python3.12\Lib\site-packages\pandas\core\internals\blocks.py:366, in Block.apply(self, func, **kwargs)360 @final361 def apply(self, func, **kwargs) -> list[Block]:362     """363     apply the function to my values; return a block if we are not364     one365     """
--> 366     result = func(self.values, **kwargs)368     result = maybe_coerce_values(result)369     return self._split_op_result(result)TypeError: bad operand type for abs(): 'str'

例3:复数绝对值的计算

import pandas as pds = pd.Series([1.2 + 1j, 2.3+0.5j])s.abs()

运行结果:

0    1.56205
1    2.35372
dtype: float64

这篇关于Pandas.DataFrame.abs() 绝对值 详解 含代码 含测试数据集 随Pandas版本持续更新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/634246

相关文章

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订