#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/5/24 15:03
# @Author : zhang chao
# @File : s.py
import pandas as pd
import numpy as np df = pd.DataFrame(np.random.randn(10, 4),
index = pd.date_range('1/1/2019', periods=10),
columns = ['A', 'B', 'C', 'D']) print (df)
print("=======================================")
r = df.rolling(window=3,min_periods=1)
print (r)
print("=======================================")
print("r.aggregate(np.sum)")
print (r.aggregate(np.sum))
print("=======================================")
print("r['A'].aggregate(np.sum)")
print (r['A'].aggregate(np.sum))
print("=======================================")
print("r[['A','B']].aggregate(np.sum)")
print (r[['A','B']].aggregate(np.sum))
print("=======================================")
print("r['A'].aggregate([np.sum,np.mean])")
print (r['A'].aggregate([np.sum,np.mean]))
print("=======================================")
print("r.aggregate({'A' : np.sum,'B' : np.mean})")
print (r.aggregate({'A' : np.sum,'B' : np.mean}))
print("=======================================")
print("r[['A','B']].aggregate([np.sum,np.mean]")
print (r[['A','B']].aggregate([np.sum,np.mean])) D:\Download\python3\python3.exe D:/Download/pycharmworkspace/s.py
A B C D
2019-01-01 0.744560 0.208652 0.542045 -0.995837
2019-01-02 0.029809 -1.419936 -0.461988 2.177032
2019-01-03 0.613583 1.515249 0.256546 -0.973564
2019-01-04 0.124320 1.152804 0.152107 1.629035
2019-01-05 -0.287906 1.003523 -0.793393 0.231969
2019-01-06 -0.045296 -0.921622 0.894335 0.773035
2019-01-07 -0.695347 0.512206 0.208833 0.953205
2019-01-08 -1.197178 0.142301 -0.854875 -1.044017
2019-01-09 -2.352468 0.047127 -0.351634 -0.373885
2019-01-10 0.678406 0.500947 0.304250 -0.606522
=======================================
Rolling [window=3,min_periods=1,center=False,axis=0]
=======================================
r.aggregate(np.sum)
A B C D
2019-01-01 0.744560 0.208652 0.542045 -0.995837
2019-01-02 0.774369 -1.211283 0.080057 1.181195
2019-01-03 1.387952 0.303966 0.336603 0.207631
2019-01-04 0.767712 1.248117 -0.053335 2.832504
2019-01-05 0.449996 3.671576 -0.384740 0.887441
2019-01-06 -0.208882 1.234705 0.253049 2.634040
2019-01-07 -1.028549 0.594107 0.309775 1.958209
2019-01-08 -1.937820 -0.267115 0.248293 0.682223
2019-01-09 -4.244992 0.701633 -0.997676 -0.464698
2019-01-10 -2.871239 0.690374 -0.902259 -2.024425
=======================================
r['A'].aggregate(np.sum)
2019-01-01 0.744560
2019-01-02 0.774369
2019-01-03 1.387952
2019-01-04 0.767712
2019-01-05 0.449996
2019-01-06 -0.208882
2019-01-07 -1.028549
2019-01-08 -1.937820
2019-01-09 -4.244992
2019-01-10 -2.871239
Freq: D, Name: A, dtype: float64
=======================================
r[['A','B']].aggregate(np.sum)
A B
2019-01-01 0.744560 0.208652
2019-01-02 0.774369 -1.211283
2019-01-03 1.387952 0.303966
2019-01-04 0.767712 1.248117
2019-01-05 0.449996 3.671576
2019-01-06 -0.208882 1.234705
2019-01-07 -1.028549 0.594107
2019-01-08 -1.937820 -0.267115
2019-01-09 -4.244992 0.701633
2019-01-10 -2.871239 0.690374
=======================================
r['A'].aggregate([np.sum,np.mean])
sum mean
2019-01-01 0.744560 0.744560
2019-01-02 0.774369 0.387185
2019-01-03 1.387952 0.462651
2019-01-04 0.767712 0.255904
2019-01-05 0.449996 0.149999
2019-01-06 -0.208882 -0.069627
2019-01-07 -1.028549 -0.342850
2019-01-08 -1.937820 -0.645940
2019-01-09 -4.244992 -1.414997
2019-01-10 -2.871239 -0.957080
=======================================
r.aggregate({'A' : np.sum,'B' : np.mean})
B A
2019-01-01 0.208652 0.744560
2019-01-02 -0.605642 0.774369
2019-01-03 0.101322 1.387952
2019-01-04 0.416039 0.767712
2019-01-05 1.223859 0.449996
2019-01-06 0.411568 -0.208882
2019-01-07 0.198036 -1.028549
2019-01-08 -0.089038 -1.937820
2019-01-09 0.233878 -4.244992
2019-01-10 0.230125 -2.871239
=======================================
r[['A','B']].aggregate([np.sum,np.mean]
A B
sum mean sum mean
2019-01-01 0.744560 0.744560 0.208652 0.208652
2019-01-02 0.774369 0.387185 -1.211283 -0.605642
2019-01-03 1.387952 0.462651 0.303966 0.101322
2019-01-04 0.767712 0.255904 1.248117 0.416039
2019-01-05 0.449996 0.149999 3.671576 1.223859
2019-01-06 -0.208882 -0.069627 1.234705 0.411568
2019-01-07 -1.028549 -0.342850 0.594107 0.198036
2019-01-08 -1.937820 -0.645940 -0.267115 -0.089038
2019-01-09 -4.244992 -1.414997 0.701633 0.233878
2019-01-10 -2.871239 -0.957080 0.690374 0.230125 Process finished with exit code 0

pandas聚合aggregate的更多相关文章

  1. mongodb的聚合aggregate|group|match|project|sort|limit|skip|unwind

    聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum().avg() 语法 db.集合名称.aggregate([{管道:{表达式}}]) 管道 管道在Unix和 ...

  2. MongoDB(七):聚合aggregate

    1. 聚合aggregate 聚合主要用于计算数据,类似sql中的sum().avg() 语法: db.集合名称.aggregate([{管道:{表达式}}]) stu准备的数据: db.stu.in ...

  3. mongodb 聚合(aggregate)

      MongoDB中文手册|官方文档中文版 https://docs.mongoing.com/ 聚合操作处理数据记录和 return 计算结果.聚合操作将来自多个文档的值组合在一起,并且可以对分组数 ...

  4. pandas聚合和分组运算——GroupBy技术(1)

    数据聚合与分组运算——GroupBy技术(1),有需要的朋友可以参考下. pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片.切块.摘要等操作.根据一个或多个 ...

  5. Pandas聚合

    数据聚合 import pandas as pd from pandas import Series import numpy as np # 准备数据 df = pd.DataFrame([[-0. ...

  6. pandas聚合和分组运算之groupby

    pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片.切块.摘要等操作.根据一个或多个键(可以是函数.数组或DataFrame列名)拆分pandas对象.计算分 ...

  7. django中聚合aggregate和annotate GROUP BY的使用方法

    接触django已经很长时间了,但是使用QuerySet查询集的方式一直比较低端,只会使用filter/Q函数/exclude等方式来查询,数据量比较小的时候还可以,但是如果数据量很大,而且查询比较复 ...

  8. MongoDB聚合(aggregate)

    一.基础 1.什么是聚合? 聚合是基于数据处理的聚合管道,每个文档通过一个有多个阶段(stage)组成的管道可以对每个阶段的管道进行分组.过滤等功能,然后经过一系列的处理,输出相应的结果 db.集合名 ...

  9. pandas 聚合求和等操作

    参考:https://blog.csdn.net/m0_38139979/article/details/106606633 result1= result.groupby(['user_id', ' ...

随机推荐

  1. Drool实战系列(一)之入门程序

    Drools官网地址为:https://www.drools.org/ maven环境 入门程序例子如下: 项目结构截图: 一.导入pom文件 <project xmlns="http ...

  2. AWS 为 Elasticsearch 推出开源发行版

    WS 近日宣布为 Elasticsearch 推出开源发行版 Open Distro for Elasticsearch. Elasticsearch 是一个分布式.面向文档的搜索和分析引擎,它支持结 ...

  3. MongoDB数据库中更新与删除数据

    MongoDB数据库中更新与删除数据 在MongoDB数据库中,可以使用Collection对象的update方法更新集合中的数据文档.使用方法如下所示: collection.update(sele ...

  4. 异步方法(promise版)出错自调用

    /** * [*promisePlus promise封装的异步,既然是异步,必然会成功或者失败,理论上失败了就失败了,但是 * 失败后能否让他过多长时间自动再调用自己呢,如果调用指定的次数还是失败, ...

  5. 零基础入门到精通:Python大数据与机器学习之Pandas-数据操作

    在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python ...

  6. LOJ2542 PKUWC2018 随机游走 min-max容斥、树上高斯消元、高维前缀和、期望

    传送门 那么除了D1T3,PKUWC2018就更完了(斗地主这种全场0分的题怎么会做啊) 发现我们要求的是所有点中到达时间的最大值的期望,\(n\)又很小,考虑min-max容斥 那么我们要求从\(x ...

  7. NOIP2002-2017提高组题解

    给个人认为比较难的题目打上'*' NOIP2002(clear) //一个很吼的贪心题,将平均数减掉之后从左往右将影响消除 #include<bits/stdc++.h> using na ...

  8. 转载:(原创)odoo11配置邮件功能的那些事儿

    https://www.cnblogs.com/goyier/p/9246001.html 关于odoo的邮件服务器的配置,百度的结果是众说纷纭,但是都没有能够清楚的说明,odoo系统的邮件功能,仅仅 ...

  9. java基础(个人学习笔记) A

    1.       声明long类型的变量 需要在数值的末尾+l/L.(不加L的话,貌似默认就是int型了.当给long赋值一个超过int范围的值的时候,会出问题.) 2.  package java_ ...

  10. 一文让你熟练掌握Linux的ncat(nc)命令

    一文让你熟练掌握Linux的ncat(nc)命令 ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的.它是一款拥有多种功能的 CLI 工具,可以用来在网络上读.写以及重定向数据. ...