文章目录

  • apply函数调用
    • apply函数描述性统计
    • apply函数lambda自定义
  • 聚合函数aggregate/agg
    • 用字典实现聚合
  • transform函数
    • 多函数 Transform
  • 重置索引与更换标签
    • 行重置索引
    • 行和列同时重置索引

apply函数调用

apply函数描述性统计
import numpy as np
df.loc[:,'Q1':'Q4'].apply(np.mean)
df.loc[:,'Q1':'Q4'].apply('mean') #两种写法均可Q1    49.20
Q2    52.55
Q3    52.67
Q4    52.78
dtype: float64
df.loc[:,'Q1':'Q4'].apply(np.cumsum) #累加函数
apply函数lambda自定义
#每季度最值之差
df.loc[:,'Q1':'Q4'].apply(lambda x: x.max() - x.min())Q1    97
Q2    98
Q3    98
Q4    97
dtype: int64
#最大值对应索引
df.loc[:,'Q1':'Q4'].apply(lambda x: x.idxmax())Q1    Lincoln4
Q2      Harley
Q3        Lfie
Q4      Ronnie
dtype: object

聚合函数aggregate/agg

#计算每列总和 平均数
df.iloc[:,1:].agg(['sum','mean'])
#使用匿名函数lambda
df.iloc[:,1:].agg(['sum',lambda x:x.mean()])
#自定义函数 三种方法
def avg(x):return x.mean()
df.iloc[:,1:].agg(['sum',avg])Q1  Q2  Q3  Q4
sum 4920.0  5255.00 5267.00 5278.00
mean    49.2    52.55   52.67   52.78
用字典实现聚合

指定为哪些列应用哪些聚合函数时,需要把包含列名与标量(或标量列表)的字典传递给 DataFrame.agg

df.iloc[:,1:].agg({'Q1': 'mean', 'Q2': 'sum'})Q1      49.2
Q2    5255.0
dtype: float64
df.iloc[:,1:].agg({'Q1':['mean','max'],'Q2':'sum'})Q1  Q2
max 98.0    NaN
mean    49.2    NaN
sum NaN 5255.0

transform函数

transform方法的返回结果与原始数据的索引相同,大小相同。与 .agg API 类似,该 API 支持同时处理多种操作,不用一个一个操作。

#将Q1列全部转换为整数
df['Q1'].transform(np.round)name
Liver       89
Arry        36
Ack         57
Eorge       93
Oah         65..
Gabriel     48
Austin7     21
Lincoln4    98
Eli         11
Ben         21
Name: Q1, Length: 100, dtype: int64
多函数 Transform

transform() 调用多个函数时,生成多层索引 DataFrame。第一层是原始数据集的列名;第二层是 transform() 调用的函数名。

#transform调用两个函数
df['Q1'].transform([np.round,lambda x:x+1])round_    <lambda>
name
Liver   89  90
Arry    36  37
Ack 57  58
Eorge   93  94
Oah 65  66
... ... ...
Gabriel 48  49
Austin7 21  22
Lincoln4    98  99
Eli 11  12
Ben 21  22

重置索引与更换标签

#生成一个4x4的dataframe
s = pd.DataFrame(np.random.randint(0,100,(4,4)),index=['a','b','c','d'],columns=['s','w','x','r'])s  w   x   r
a   6   28  84  27
b   1   56  92  66
c   46  46  3   91
d   4   81  1   51
行重置索引
s.reindex(['d','c','b','a'])s    w   x   r
d   4   81  1   51
c   46  46  3   91
b   1   56  92  66
a   6   28  84  27
行和列同时重置索引
s.reindex(index=['d','c','b','a'],columns=['r','x','w','s'])r  x   w   s
d   51  1   81  4
c   91  3   46  46
b   66  92  56  1
a   27  84  28  6

pandas使用教程:apply函数、聚合函数agg和transform相关推荐

  1. 【极简spark教程】spark聚合函数

    聚合函数分为两类,一种是spark内置的常用聚合函数,一种是用户自定义聚合函数 UDAF 不带类型的UDAF[较常用] 继承UserDefinedAggregateFunction 定义输入数据的sc ...

  2. Oracle中的within,Oracle函数 --聚合函数中的语法within group

    Oracle的聚合函数一般与group by 联合使用,但一般通过group by 聚合 但某些聚合函数会后跟 WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ ...

  3. Hive常用系统函数-聚合函数

    关于Hive常用的聚合函数 Hive的聚合函数,大多可以group by 组合使用 函数 参数格式 解释 count count(*), count(expr),count(distinct expr ...

  4. oracle 聚合函数 日期,Oracle日期函数/字符函数/数字函数/转换函数/聚合函数

    Oracle日期函数: MONTHS_BETWEEN:返回两个日期之间月份的差值 MONTHS_BETWEEN('01-EP-95','11-JAN-94') ===>19.6774194 AD ...

  5. SQL---DQL语言之分组函数(聚合函数)

    一.功能 用作统计使用,又称为聚合函数或统计函数或组函数: 二.分类 sum 求和.avg 平均值.max 最大值 .min 最小值 .count 计算个数 特点: 1.sum.avg一般用于处理数值 ...

  6. ORACLE 常用函数——聚合函数

    ORACLE 常用函数 这个系列我将整理一些日常我们经常使用到的ORACLE函数,鉴于篇幅太长,我大体会按下面分类来整理.汇总这些常用的ORACLE函数,如果有些常用函数没有被整理进来,也希望大家指点 ...

  7. mysql 中常用的聚合函数的使用

    mysql 中常用的聚合函数的使用 文章目录 1 count 函数 2 sum 函数 3 avg 函数 计算平均值 4 max 和min 函数 求最大值 ,最小值 总结 参考文档: 什么是聚合函数: ...

  8. 一文讲懂SQL聚合函数

    大家好,我是宁一. 今天讲解SQL教程第14课:聚合函数. 1.什么是聚合函数 聚合函数,顾名思义,就是会将数据记录聚合到一起的函数. 比如原先数据库中有100条记录,用聚合函数查询这100条记录中的 ...

  9. mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧

    本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...

  10. SQL SERVER 2005允许自定义聚合函数

    不多说了,说明后面是完整的代码,用来将字符串型的字段的各行的值拼成一个大字符串,也就是通常所说的Concat 例如有如下表dict  ID  NAME  CATEGORY  1 RED  COLOR  ...

最新文章

  1. 解题报告(二)C、(darkBZOJ 3771)Triple(生成函数 + FFT + 容斥原理)(3)
  2. python使用input函数时、必须添加提示文字-Python基础教程(4)使用input函数实现用户交互...
  3. 五问弄懂液冷数据中心
  4. antd 能自适应吗_react 基于antd表格自适应宽度显示。。。鼠标滑动显示详细内容解决办法...
  5. 零基础如何快速入门深度学习?
  6. “网络小偷”猖獗横行 探秘信息数据黑产链
  7. 阐述沙盒游戏的历史和理论
  8. android 视频地址解析,Android使用webview解析视频并播放
  9. STM32单片机USB扫码枪开发笔记
  10. cad解除块的快捷命令_cad分解块的快捷命令
  11. java 计时器归零_加一计时器——每隔1s六位数码管显示数字加1,直至999999,之后归零,重新开始。...
  12. php实时股票,PHP实现股票趋势图和柱形图
  13. HihoCoder - 1370 快乐数字
  14. C++语言Switch函数使用小贴士
  15. win10 桌面体验 服务器,windows server 2012 R2 安装桌面体验
  16. mac 升级php 到7,macOS High Sierra 10.13升级PHP到7.3并创建Laravel 7项目
  17. exit() _exit()
  18. R语言中作图字体的设置
  19. 文章标题warning: could not load any Objective-C class information. This will significantly reduce the qu
  20. MRAM关键工艺步骤

热门文章

  1. fgo服务器维护2018,fgo国服2018年10月15日更新维护公告,职阶区别推荐召唤卡池开启...
  2. Spring工作原理与单例ThreadLocal
  3. 远程上课直播软件的4种免费体验方式
  4. 合同印章的真实性如何识别?
  5. Android布局层次结构查看工具-uiautomatorviewer介绍
  6. Ubuntu16.04设置以太网连接
  7. 分享实用干货:办公必备的6个软件,大神都在用!
  8. 数据宝董事长汤寒林分享保险行业数据产品场景案例
  9. python写公式函数_python的数学算法函数及公式用法
  10. 【精选】写给未来老公的一封信