Hello大家好,欢迎来到【统计GO】,本公众号内容主要针对数据分析的爱好者,不定期分享一些好用的数据分析工具和机器学习资料,以及一些求职必备技能,帮助大家花更少的时间学更多的知识。

今天为大家推荐的是“详解pandas中的Map、Apply、Groupby函数”。如果本期内容对您有所帮助,记得及时关注。

1.Map

(1)数据集

(2)假设您想要添加一列,指出每种食物来自哪种动物。让我们写下每一种不同的肉类类型到动物的映射:

meat_to_animal = {'bacon': 'pig',

'pulled pork': 'pig','pastrami':'cow',

'corned beef': 'cow','honey ham': 'pig', 'nova lox': 'salmon'}

(3)处理完之后的数据

data['animal'] = lowercased.map(meat_to_animal)

2.Groupby

(1)简单组聚合的模型示意图

(2)数据集

(3)Groupby

grouped = df['data1'].groupby(df['key1']).mean()

Out: key1

a 0.746672

b -0.53758

3.Apply

(1)数据集

(2)lambda函数

f = lambda x: x.max() - x.min()

frame.apply(f)

Out:

b 1.802165

d 1.684034

e 2.689627

frame.apply(f, axis='columns')

Out:

Utah 0.998382

Ohio 2.521511

Texas 0.676115

Oregon 2.542656

(3)def f(x),计算每一列最小值和最大值

def f(x):

return pd.Series([x.min(), x.max()],

index=['min', 'max'])

frame.apply(f)

Out:

(4)每一列保留两位小数

format = lambda x: '%.2f' % x

frame.applymap(format)

Out:

4.总结

1. lambda与def的区别:

1)def创建的方法是有名称的,而lambda没有。

2)lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def则会把函数对象赋值给一个变量(函数名)。

3)lambda只是一个表达式,而def则是一个语句。

4)lambda表达式”:“后面,只能有一个表达式,def则可以有多个。

5)像if或for或print等语句不能用于lambda中,def可以。

6)lambda一般用来定义简单的函数,而def可以定义复杂的函数。

2. Map函数主要用于自定义分类规则.

Groupby函数主要用于计算组内统计量,特别是在缺失值填充中避免了用总体均值填充的弊端.

Apply函数主要用于将自定义之后的函数,应用到每一列或者特定的某一列中.

python apply lambda if_详解Python中的map、lambda和apply用法相关推荐

  1. python while循环if_详解python基础之while循环及if判断

    wlile循环 while True表示永远为真,不管是什么条件都会向下执行,下面是写的一个例子. #!/usr/bin/env python age = 24 #给age赋一个值 while Tru ...

  2. dataframe groupby_详解pandas中的map、apply、applymap、groupby、agg.

    一.简介 pandas提供了很多方便简洁的方法,用于对单列.多列数据进行批量运算或分组聚合运算,熟悉这些方法后可极大地提升数据分析的效率,也会使得你的代码更加地优雅简洁. 本文就将针对pandas中的 ...

  3. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  4. python xlrd安装_详解python中xlrd包的安装与处理Excel表格

    一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...

  5. python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...

    html 中 鼠标放在标签上会显示小手状,其它标签在其他标签上,美工给加了一些样式,鼠标放上去也显示小手状.有哪位大手状样式 有什么不懂的前端问题可以去菜鸟驿站.全都是泡沫,只一刹的花火,所谓的友情, ...

  6. python gil 解除_详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案

    先看一道GIL面试题: 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因. GIL:又叫全局解 ...

  7. python opencv 直方图均衡_详解python OpenCV学习笔记之直方图均衡化

    本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_hi ...

  8. python归一化处理_详解python实现数据归一化处理的方式:(0,1)标准化

    在机器学习过程中,对数据的处理过程中,常常需要对数据进行归一化处理,下面介绍(0, 1)标准化的方式,简单的说,其功能就是将预处理的数据的数值范围按一定关系"压缩"到(0,1)的范 ...

  9. python模式匹配算法_详解Python 最短匹配模式

    问题 你正在试着用正则表达式匹配某个文本模式,但是它找到的是模式的最长可能匹配. 而你想修改它变成查找最短的可能匹配. 解决方案 这个问题一般出现在需要匹配一对分隔符之间的文本的时候(比如引号包含的字 ...

最新文章

  1. python3 rsa加密_【Python】Python3 实现 JS 中 RSA 加密的 NoPadding 模式
  2. cdh必须要在root用户搭建吗_基于cloudera CDH5的环境搭建
  3. 解决Android 5.1物理键盘与软键盘的同时使用
  4. HTTP解决设置返回header的code码为400仍然是200的问题
  5. 扩展easyui tree的两个方法 获取实心节点
  6. Chapter 7:Statistical-Model-Based Methods
  7. 133_Power BI 报表服务器2020年1月版本更新亮点
  8. 20180925-5 代码规范,结对要求
  9. 上传JSPX文件绕过网站后缀名检查
  10. 基于DS-lite的IP城域网向IPv6演进过渡方案研究
  11. 如何突破社会阶层,向上进阶?
  12. 零基础入门microbit教程
  13. 做电商,怎么降低快递运输成本?
  14. seo专员日常工作内容是什么?
  15. 阿里ESC7天训练营---搭建FTP服务
  16. http://www.sciencedirect.com/ 外文文献免费全文下载方法
  17. IO流和base64转换
  18. 现在最火爆的引流脚本好用吗?真的可以每天轻松引流500+精准粉吗
  19. 怎样将网页导入notability及goodnote同时图片加载完全怎样进行长截图
  20. 多版本node的安装与切换详细操作

热门文章

  1. python复制文件到指定文件夹
  2. MHA高可用架构搭建
  3. linux 判断相等,linux if 判断字符串是否相等
  4. [WIN32]Win7软件部署清单
  5. Calendar 获取当天开始和结束时间
  6. wmv格式视频用windows自带播放器打开没有声音,用QQ影音可以
  7. Python Spider
  8. Eclipse项目红色叹号解决方法
  9. 【Python】推荐五个常用的图像处理库
  10. 借款与收款不是同一人,怎么认定借款人是谁?