Pandas教程07:DataFrame数据中apply参数自定义运算的用法

news2024/11/16 11:50:27

DataFrame.apply()方法主要用于调用每个Series的函数。此函数可以是一个Python的函数,或者是lambda函数。此函数可以接收一个函数作为输入,并应用于DataFrame的每一列。

以下是一些DataFrame.apply()的示例用法:

# @Author : 小红牛
# 微信公众号:wdPython
import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
print('0.原始DataFrame数据'.center(40, '-'))
print(df)
print('1.lambda计算平均值'.center(40, '-'))
average = df.apply(lambda x: x.mean())
print(average)
print('2.把每列数据的值*10'.center(40, '-'))
result = df.apply(lambda x: x*10)
print(result)
print('3.sum函数计算总和'.center(40, '-'))
sum_values = df.apply(sum)
print(sum_values)

输出内容:

------------0.原始DataFrame数据-------------
   A   B
0  1  10
1  2  20
2  3  30
3  4  40
4  5  50
-------------1.lambda计算平均值--------------
A     3.0
B    30.0
dtype: float64
--------------2.把每列数据的值*10--------------
    A    B
0  10  100
1  20  200
2  30  300
3  40  400
4  50  500
--------------3.sum函数计算总和---------------
A     15
B    150
dtype: int64

2.假设我们有一个包含学生数学和英语成绩的DataFrame,我们想要计算每个学生的总分数。我们可以使用apply方法来实现这个功能。

import pandas as pd

# 创建DataFrame
print('0.原始DataFrame数据'.center(40, '-'))
df = pd.DataFrame({'Math': [90, 90, 80], 'Chinese': [80, 100, 92], 'English': [70, 60, 80]})
print(df)

# 定义计算总分数的函数
def calculate_total_score(row):
    return row['Math'] + row['English']

# 使用apply方法应用函数
df['数学+英语分数'] = df.apply(calculate_total_score, axis=1)
print('1.数学+英语的分数'.center(40, '-'))
print(df)

输出内容

D:\Wdpython\environment\Scripts\python.exe D:/Wdpython/Ex/测试3.py
------------0.原始DataFrame数据-------------
   Math  Chinese  English
0    90       80       70
1    90      100       60
2    80       92       80
---------------1.数学+英语的分数---------------
   Math  Chinese  English  数学+英语分数
0    90       80       70      160
1    90      100       60      150
2    80       92       80      160

进程已结束,退出代码0

在上面的示例中,我们首先创建了一个包含学生数学和英语成绩的DataFrame。然后,我们定义了一个计算总分数的函数calculate_total_score,该函数接受一个行作为参数,并返回该行的数学和英语成绩之和。最后,我们使用apply方法将该函数应用于DataFrame的每一行,并将结果存储在一个新的’Total’列中。在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1272762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度解析 Spring Security 自定义异常失效问题:源码剖析与解决方案

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

【docker系列】docker实战之部署SpringBoot项目

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

行行AI董事长李明顺:今天每个人都可以成为AI应用的创业者

“ AI创业的核心在于真正介入到应用层面,AI应该成为真正的应用支撑。 ” 整理 | 王娴 编辑 | 云舒 出品|极新 2023年11月28日,极新AIGC行业峰会在北京东升国际科学园顺利召开,行行AI董事长李明顺先生在会上做了题为《从大模型…

如何做好前端单元测试?字节5年测试老司机是这样说的!

近几年,前端发展越来越迅猛,各类框架层出不穷,前端实现的业务逻辑也越来越复杂,前端单元测试也越来越受重视,包括百度在内的一些大厂在面试中也会问到单元测试相关的题目。那么前端应该如何做好单元测试? 什…

写给步入三十的自己,2023年终总结!

前言 古语有云: “二十而立,三十而肆”,而我在二十岁这些年已经有一定的责任感和独立思考了,但是还未步入三十,所以为了之后有一定的胆识和能力,我在今年做了目前能做的准备。 今年已做事件 工作相关 1.拿到了PMP证书…

2023年大数据场景智能运维实践总结

作者:放纵 引言 在当今数字化世界中,如何充分挖掘和发挥数据价值已经成为了企业成功的关键因素,大数据也成为企业决策和运营的重要驱动力。在《当我们在谈论DataOps时,我们到底在谈论什么》一文中也提到,企业在面对到…

开关电源基础而又硬核的知识

1.什么是Power Supply? Power Supply是一种提供电力能源的设备,它可以将一种电力能源形式转换成另外一种电力能源形式,并能对其进行控制和调节。 根据转换的形式分类:AC/DC、DC/DC、DC/AC、AC/AC 根据转换的方法分类:线性电源、…

Docker篇之利用docker搭建ftp服务器可实现多用户上传

一、前言 场景:公司需要搭建FTP服务器,供内网之前可以互相传递数据,安全稳定,需要满足开通多个账号,每个用户上传的文件有自己对应的文件目录。 这里建议:用户目录Disk尽量大一点,避免因为空间不…

滴滴2023.11.27P0级故障技术复盘回顾(k8s的的错?)

本文从滴滴官方恢复及技术公众号带大家从技术角度复盘这次事故 目录 1. 背景 2. 滴滴官方消息 3. 问题分析及定位 4.网传的k8s及解析 5.k8s引发的思考:举一反三,怎么避免再次出现 6.近段时间其他平台崩溃回顾 1. 背景 11 月 27 晚约 10 点&#xf…

【Openstack Train安装】六、Keystone安装

OpenStack是一个云计算平台的项目,其中Keystone是一个身份认证服务组件,它提供了认证、授权和目录的服务。其他OpenStack服务组件都需要使用Keystone来验证用户的身份和权限,并且彼此之间需要相互协作。当一个OpenStack服务组件接收到用户的请…

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「内网穿透」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

智安网络|发现未知风险,探索渗透测试的奥秘与技巧

在当今信息时代,网络安全已成为组织和个人面临的重大挑战。为了保护网络系统的安全,渗透测试成为一种重要的手段。 一、渗透测试的基本原理 渗透测试是通过模拟黑客攻击的方式,对目标系统进行安全评估。其基本原理是模拟真实攻击者的思维和行…

特征变换1

编译工具:PyCharm 有些编译工具不用写print可以直接将数据打印出来,pycharm需要写print才会打印出来。 概念 1.特征类型 特征的类型:“离散型”和“连续型” 机器学习算法对特征的类型是有要求的,不是任意类型的特征都可以随意…

数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)

目录 一.顺序表的概念 二.顺序表的实现 新增元素 默认尾部新增 指定位置添加元素 查找元素 查找是否存在 查找元素对应的位置 查找指定位置对应的元素 删除元素 获取顺序表长度 清空顺序表 一.顺序表的概念 在线性数据结构中,我们一般分为俩类&#xf…

【电源专题】DC/DC电源FB分压电阻设计注意事项

在DC/DC电源中我们不可避免的会遇到FB分压电阻的取值,PCB设计等问题。如下所示随意打开一份同步降压稳压器规格书TPS56320X,规格书中的简化电路原理图就已经存在VFB管脚上的两个分压电阻。 很多工程师朋友们会误认为分压电阻只是简单的将输出电压缩小到参考电压,通过此电压来…

网狐类源码游戏配置数据库数据(一键配置网狐数据库)

网狐类源码游戏配置数据库数据(一键配置网狐数据库) 一般拿到网狐的源码或组件,需要先附加或配置数据库,以下为全部需要更改数据的地方,这里以荣耀系列版本数据库为例: 1. 数据库设置 [RYPlatformDB].…

文档理解的新时代:LayOutLM模型的全方位解读

一、引言 在现代文档处理和信息提取领域,机器学习模型的作用日益凸显。特别是在自然语言处理(NLP)技术快速发展的背景下,如何让机器更加精准地理解和处理复杂文档成为了一个挑战。文档不仅包含文本信息,还包括布局、图…

STM32CubeIDE(CUBE-MX)----快速移植FreeRTOS实战

文章目录 前言一、Freertos可视化配置二、生成代码三、实验现象总结 前言 FreeRTOS(Real-Time Operating System)是一个开源的实时操作系统内核,专注于嵌入式系统。它提供了一套用于管理任务、调度器、内存管理等的实时操作系统功能&#xf…

OSG编程指南<十七>:OSG光照与材质

1、OSG光照 OSG 全面支持 OpenGL 的光照特性,包括材质属性(material property)、光照属性(light property)和光照模型(lighting model)。与 OpenGL 相似,OSG 中的光源也是不可见的&a…

MSUSB30模拟开关可Pin to Pin兼容FSUSB30/SGM7222

MSUSB30/MSUSB30N 是一款高速、低功耗双刀双掷 USB 模拟开关芯片,其工作电压范围是1.8V 至5.5V。可Pin to Pin兼容FSUSB30/SGM7222。其具有低码间偏移、高通道噪声隔离度、宽带宽的特性。 MSUSB30/MSUSB30N 主要应用范围包括:具有 USB2.0 接口的手持设备…