pandas学习笔记13

map,apply,applymap
**

apply:应用在DataFrame的行或列中;
applymap:应用在DataFrame的每个元素中;
map:应用在单独一列(Series)的每个元素中。

**

apply()方法
前面也说了apply方法是一般性的“拆分-应用-合并”方法。 apply()将一个函数作用于DataFrame中的每个行或者列 它既可以得到一个经过广播的标量值,也可以得到一个相同大小的结果数组。我们先来看下函数形式:

df.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds)

func : 函数应用于每一列或每一行
axis: 0或“索引”:将函数应用于每一列。 1或“列”:将函数应用于每一行。

df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
# 1或“列”:将函数应用于每一行。
df.apply(np.sum, axis=1)#获取每行的总和

可以设置一个def方法,用其对进行运算

def cal_result(df, x, y):
    df['C'] = (df['A'] + df['B']) * x
    df['D'] = (df['A'] + df['B']) * y
    return df
df.apply(cal_result, x=3, y=8, axis=1)

在这里我们先定义了一个 cal_result 函数,它的作用是计算 A,B 列和的 x 倍和 y 倍添加到 C,D 列中。这里有三种方式可以完成参数的赋值,
第一种方式直接通过关键字参数赋值,指定参数的值;
第二种方式是使用 args 关键字参数传入一个包含参数的元组;

df.apply(cal_result, args=(3, 8), axis=1) 

第三种方式传入通过 ** 传入包含参数和值的字典

df.apply(cal_result, **{'x': 3, 'y': 8}, axis=1)

apply的使用是很灵活的,再举一个例子,配合 loc 方法我们能够在最后一行得到一个总和:

df.loc[2] = df.apply(np.sum)
df

applymap()方法
该方法针对DataFrame中的元素进行操作,还是使用这个数据: df.applymap(func)
applymap方法操作的是其中的元素,并且是对整个DataFrame进行了格式化,我们也可以选择行或列中的元素:
df[['A']]
特别注意:

df['A'].applymap(lambda x: '%.2f'%x)  # 异常 

需要注意的是这里必须使用 df[[‘A’]] ,表示这是一个DataFrame,而不是一个Series,如果使用 df[‘A’] 就会报错。同样从行取元素也要将它先转成DataFrame。还需要注意apply方法和applymap的区别:
apply方法操作的是行或列的运算,而不是元素的运算,比如在这里使用格式化操作就会报错;
applymap方法操作的是元素,因此没有诸如axis这样的参数,它只接受函数传入。

map()方法
如果你对applymap方法搞清楚了,那么map方法就很简单,说白了map方法是应用在Series中的,还是举上面的例子

# 注意Series没有applymap方法
df['A'].map(lambda x: '%.2f'%x)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day15-JavaWeb开发-Maven高级-分模块设计与开发继承与聚合私服

1. Maven高级-分模块设计与开发 2. Maven高级-继承与聚合 2.1 继承关系实现 2.2 版本锁定 2.3 聚合实现 3. Maven高级-私服 3.1 私服-介绍 3.2 私服-资源上传与下载 4. Web开发-完结

【mysql】深入探索mysql中的各种约束条件

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

快速的异地组网工具?

【天联】是一款能够快速搭建异地组网的工具,其应用场景非常广泛。 零售、收银软件应用:通过结合【天联】,医药、餐饮、商超等零售行业可以实现异地统一管理。不论是分布在不同地区的门店,还是总部和各个分支机构,都可以…

工业光源环形系列一平面无影光源特点

产品特点 ◆LED灯珠均匀排布经过漫射板特殊角度反射达到漫射效果: ◆光源均匀性高,漫射效果好。

浪漫编码:手把手教你实现校园表白墙功能

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:浪漫编码:手把手教你实现校园表白墙功能 🎉欢迎大家点赞👍评论📝收藏⭐文章 这里写目录标题 表白墙数据准备引入MyBatis和MySQL驱动依赖…

PyGame 文字显示问题及解决方法

在 Pygame 中显示文字时可能会遇到一些问题,例如文字显示不清晰、字体不正确或者文字位置不准确等。以下是一些常见的问题及其解决方法,具体情况可以看看情况。 1、问题背景 一位用户在使用 PyGame 库进行游戏开发时,遇到了一个问题&#xf…

【Canvas】给图片绘制矩形以及添加文字

效果图: <!DOCTYPE html> <html lang"en"><head><title>Canvas Marker Example</title></head><body><!-- 图片 --><imgid"myImage"src图片地址alt"Image to mark"style"display: no…

植物生态化学计量主要理论和假说

1 功能关联假说 描述化学计量特征与植物生长功能的关联, 主要包括: (1) 生长速率假说(Growth Rate Hypothesis) (Sterner & Elser, 2002): 随生长速率增加, 植物N:P和C:P呈降低趋势, 而P 含量呈增加趋势。该假说有助于理解植物生长速率的调控机制, 但受其他因素调控…

Oracle Database 23ai 正式发布,超级巨兽(集关系型、向量、文档、图、缓存、分布式数据库一体的全能数据库)

Oracle23c改名为Oracle23ai&#xff0c;也意味着Oracle数据库正式从Cloud进入AI时代。Oracle23ai版本是一个超级巨兽&#xff0c;简单总结下&#xff1a; AI能力&#xff1a;内置向量数据库&#xff0c;内置ONNX模型数据处理&#xff0c;内置Text2SQL&#xff0c;内置的机器学习…

Keepalived实现LVS高可用

6.1 KeepalivedLVS集群介绍 Keepalived和LVS共同构建了一个高效的负载均衡和高可用性解决方案&#xff1a;LVS作为负载均衡器&#xff0c;负责在集群中的多个服务器间分配流量&#xff0c;以其高性能和可扩展性确保应用程序能够处理大量的并发请求&#xff1b;而Keepalived则作…

llama3 史上最强开源大模型,赶超GTP-4,逼宫OpenAI

2024年4月18日&#xff0c;Meta公司推出了开源大语言模型Llama系列的最新产品—Llama 3&#xff0c;包含了80亿参数的Llama 3 8B和700亿参数的Llama 3 70B两个版本。Meta称其为“迄今为止最强的开源大模型”。 怪兽级性能 LLaMA3 提供了不同参数规模的版本&#xff0c;以适应…

【ARM Cortex-M3指南】6:异常

文章目录 六、异常6.1 异常类型6.2 优先级定义6.3 向量表6.4 中断输入和挂起行为6.5 错误异常6.5.1 总线错误6.5.2 存储器管理错误6.5.3 使用错误6.5.4 硬件错误6.5.5 处理错误 6.6 请求管理调用和可挂起的服务调用 六、异常 6.1 异常类型 Cortex-M3内置的异常架构支持多个系…

vue快速入门(五十六)具名插槽

注释很详细&#xff0c;直接上代码 上一篇 新增内容 具名插槽基本用法 源码 App.vue <template><div id"app"><h1>被淡化的背景内容</h1><my-dialog><!-- 插槽内容 --><!-- 使用插槽的名字进行对应v-slot:可以简写为# 未命名…

nginx--rewrite

功能 Nginx服务器利用ngx_http_rewrite_module 模块解析和处理理rewrite请求&#xff0c;此功能依靠PCRE(Perl Compatible Regular Expressions)&#xff0c;因此编译之前要安装PCRE库&#xff0c;rewrite是nginx服务器的重要功能之一&#xff0c;用于实现URL的重写&#xff0…

微搭低代码入门04数据模型

目录 1 创建数据模型2 一对多3 通用选项集4 API总结 上一篇我们介绍了页面管理&#xff0c;页面是盛放组件的容器&#xff0c;组件在配置属性的时候需要进行数据绑定。数据是通过创建数据模型来进行存储&#xff0c;本篇我们介绍一下数据模型的相关操作。 1 创建数据模型 微搭…

AnaTraf网络流量分析仪:网络性能监测与诊断的利器

背景 在当今数字化时代&#xff0c;网络性能监测与诊断(Network Performance Monitoring and Diagnosis, NPMD)成为了企业和组织管理网络的重要一环。为了帮助企业更好地实现网络性能的监控和故障排除&#xff0c;AnaTraf的网络流量分析仪应运而生。 AnaTraf网络流量分析仪是…

数据存储-SQLite

一般使用到数据库存储&#xff0c;涉及到的数据量都较大&#xff0c;采用文件存储也能完成&#xff0c;但是文件操作复杂&#xff0c;效率低&#xff0c;大量结构化数据通常采用关系型数据库存储较为合适。Android中已经嵌入了轻量级的关系型数据库SQLite&#xff0c;直接按照数…

数据库复习2

试述SQL的特点 有两个关系 S(A,B,C, D)和 T(C,D,E,F)&#xff0c;写出与下列查询等价的 SQL 表达式: 用SQL语句建立第2章习题6中的4个表&#xff1b;针对建立的4个表用SQL完成第2章习题6中的查询 针对习题4中的4个表试用SQL完成以下各项操作 (1)找出所有供应商的姓名和所在城市…

【高阶数据结构(一)】并查集详解

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:高阶数据结构专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; 高阶数据结构 1. 前言2. 并查集…

上传文件到 linux

一、mac 法一&#xff1a;scp 先进入mac的 Node_exporter文件&#xff08;要上传的文件&#xff09;目录下 输入scp -P 端口号 文件名 rootIP:/存放路径 scp -P 22 node_exporter-1.8.0.linux-amd64.tar.gz root192.***.2:/root 法二、 rz mac 安装 lrzsz&#xff0c;然后…
最新文章