文章目录

  • 获取数据
  • map
    • 方法1:Series.map(dict)
    • 方法2:Series.map(function)
  • apply
    • Series.apply(function)
    • DataFrame.apply(function)
  • applymap
  • 对每个分组应用apply函数
    • GroupBy.apply(function)
    • 实例1:怎样对数值列按分组的归一化
      • 读取数据
      • 归一化实现
    • 实例2:怎样取每个分组的TOPN数据
      • 获取数据
      • 获取topN

  mapapplyapplymap这三个函数的大体区别如下:

  1. map:只用于Series,实现每个值->值的映射
  2. apply:用于Series实现每个值的处理,用于Dataframe实现某个轴的Series的处理;
  3. applymap:只能用于DataFrame,用于处理该DataFrame的每个元素;

获取数据

map

  map用于Series值的转换,比如将某些特征字符转换为另一个特定字符,当然replace也可以做到这一点。使用map的话有两种使用方式:map函数传入一个dict:Series.map(dict)或者Series.map(function)

方法1:Series.map(dict)

方法2:Series.map(function)

apply

Series.apply(function)

  function的参数是Series的每个值

DataFrame.apply(function)

  function的参数是对应轴的Series

  总结apply(function)用于Series时,参数是每个值当用于Dataframe时,参数是对应的轴的Series

applymap

  applymap用于DataFrame所有值的转换,比如将选中的某几列的值转为int类型:

  上述代码所得到的值也可以用于修改原始数据的dataframe

对每个分组应用apply函数

  pandas对每个分组处理遵循以下方式:

  split指的是pandasgroupby,我们自己实现apply函数,apply返回的结果由pandas进行combine得到最终结果。

GroupBy.apply(function)

  调用GroupBy.apply(function)时,function的第一个参数是dataframefunction的返回结果,可是dataframeseries、单个值,甚至和输入dataframe完全没关系。

实例1:怎样对数值列按分组的归一化

  比如对用户的电影评分归一化,每个用户的评分不同,有的乐观派,评分相对来说都比价高,有的则是悲观派,评分普遍都比较低,因此对用户的评分归一化很有必要:

读取数据

归一化实现

实例2:怎样取每个分组的TOPN数据

获取数据

获取topN

  可以看到,groubyapply函数返回的dataframe,其实和原来的dataframe其实可以完全不一样。

Pandas系列(十四)数据转换函数map、apply、applymap以及分组apply相关推荐

  1. Redis系列(十四)、Redis6新特性之RESP3与客户端缓存(Client side caching)

    Redis6引入新的RESP3协议,并以此为基础加入了客户端缓存的新特性,在此特性下,大大提高了应用程序的响应速度,并降低了数据库的压力,本篇就带大家来看一下Redis6的新特性:客户端缓存. 目录 ...

  2. Git使用 从入门到入土 收藏吃灰系列 (十四) 清除git仓库的所有提交记录

    文章目录 一.前言 二.清除git仓库的所有提交记录 本节速览 清除git仓库的所有提交记录 一.前言 参考安装Git 详细安装教程 参考视频B站 Git最新教程通俗易懂,这个有点长,感觉讲的精华不多 ...

  3. Reflex WMS入门系列十四:在Reflex系统上创建一个Receipt

    Reflex WMS入门系列十四:在Reflex系统上创建一个Receipt 很多情况下,使用Reflex WMS系统的企业都会使用某个ERP系统,比如SAP,Oracle EBS等,用以支持企业供应 ...

  4. css 入场动画_React系列十四 React过渡动画

    在开发中,我们想要给一个组件的显示和消失添加某种过渡动画,可以很好的增加用户体验. 当然,我们可以通过原生的CSS来实现这些过渡动画,但是React社区为我们提供了react-transition-g ...

  5. 【web系列十四】Jsplumb画布使用方法

    目录 写在前面 Jsplumb介绍 jsplumb是什么 安装和导入方式 基本概念 主要方法介绍 getInstance() addEndpoint() draggable() 开发建议 jsplum ...

  6. Hadoop运维记录系列(十四)

    周末去了趟外地,受托给某省移动公司(经确认更正,是中国移动位置基地,不是省公司)做了一下Hadoop集群故障分析和性能调优,把一些问题点记录下来. 该系统用于运营商的信令数据,大约每天1T多数据量,2 ...

  7. Oracle Golden Gate 系列十四 -- 监控 GG 状态 说明

    一.使用命令查看 主要有如下命令: 这里注意STATS 指静态的信息,而STATUS 是运行时的信息. 1.1 Monitoring an Extract recovery If Extractabe ...

  8. 小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear

    小甲鱼 OD 使用教程:https://www.bilibili.com/video/av6889190?p=22 exeScope 下载:https://pan.baidu.com/s/1dSWap ...

  9. pandas 更改单元格的值_懂Excel轻松入门Python数据分析包pandas(二十四):连续区域...

    此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd 转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的) 经常听别人说 ...

  10. WPF入门教程系列十四——依赖属性(四)

    六.依赖属性回调.验证及强制值 我们通过下面的这幅图,简单介绍一下WPF属性系统对依赖属性操作的基本步骤: 借用一个常见的图例,介绍一下WPF属性系统对依赖属性操作的基本步骤: 第一步,确定Base ...

最新文章

  1. 必读 | 在转行AI之前,先了解下2018年人工智能发展的八大趋势
  2. 微型计算机2020年6月上,2020年1-6月全国微型计算机设备产量统计分析
  3. ansible代码发布系统
  4. 风险项目投资选择与管理
  5. excel打印预览在哪里_打印小心机:轮页眉页脚的重要性
  6. 2015-09-14-初级vector
  7. selenium webdriver 如何添加cookie
  8. spring mvc拦截器HandlerInterceptor
  9. 第七章 路由器、交换机及其操作系统介绍
  10. 谷歌 CEO 发全员公开信:今年将放缓招聘速度
  11. 怎么关闭苹果手机自动扣费_这些手机功能不关闭,可能会被“自动扣费”
  12. 马云再出新语录:月入一两百万很高兴,挣一二十亿很难受
  13. 质量标准、质量策略和质量责任的概念解释
  14. 如何在C++中调用C程序?(讲的比较清楚)
  15. 趣谈网络协议学习笔记——TCP
  16. 芯片(架构)顶会截稿时间和开会时间记录(ISSCC、VLSI、ISCA、HPCA、MICRO、DAC等)
  17. 期货术语-关于升、贴水,点价,洗船
  18. 检察院计算机知识试卷,2014河南检察院考试备考:计算机专业课试题练习
  19. 自学微信小程序开发第六天- TODOS案例
  20. sigmoid和softmax

热门文章

  1. mybatis加载属性
  2. HCIE-Security Day30:IPSec:实验(五)配置基于路由的IPSec PN(采用预共享密钥认证)
  3. HCIE Security 流量型攻击防范 备考笔记(幕布)
  4. [C语言数据存储深度解析]-内存数据搞不懂?三千字长文带你走进数据类型及其存储
  5. HTML-input文本框添加提示文字,填写内容时消失
  6. “万物控制”是物联网下一个挑战
  7. MySQL 添加列 修改列 删除列
  8. 关于纠正 C/C++ 之前在函输内改变 变量的一个错误想法。
  9. Redis-数据结构与对象
  10. hdoj1000解题报告