Pandas聚合函数具体有哪些应用,代码是什么
Admin 2022-08-01 群英技术资讯 351 次浏览
在前一节,我们重点介绍了窗口函数。我们知道,窗口函数可以与聚合函数一起使用,聚合函数指的是对一组数据求总和、最大值、最小值以及平均值的操作,本节重点讲解聚合函数的应用。
首先让我们创建一个 DataFrame 对象,然后对聚合函数进行应用。
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 4),index = pd.date_range('12/14/2020', periods=5),columns = ['A', 'B', 'C', 'D']) print (df) #窗口大小为3,min_periods 最小观测值为1 r = df.rolling(window=3,min_periods=1) print(r)
输出结果:
A B C D
2020-12-14 0.941621 1.205489 0.473771 -0.348169
2020-12-15 -0.276954 0.076387 0.104194 1.537357
2020-12-16 0.582515 0.481999 -0.652332 -1.893678
2020-12-17 -0.286432 0.923514 0.285255 -0.739378
2020-12-18 2.063422 -0.465873 -0.946809 1.590234Rolling [window=3,min_periods=1,center=False,axis=0]
您可以把一个聚合函数传递给 DataFrame,示例如下:
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 4),index = pd.date_range('12/14/2020', periods=5),columns = ['A', 'B', 'C', 'D']) print (df) #窗口大小为3,min_periods 最小观测值为1 r = df.rolling(window=3,min_periods=1) #使用 aggregate()聚合操作 print(r.aggregate(np.sum))
输出结果:
A B C D
2020-12-14 0.133713 0.746781 0.499385 0.589799
2020-12-15 -0.777572 0.531269 0.600577 -0.393623
2020-12-16 0.408115 -0.874079 0.584320 0.507580
2020-12-17 -1.033055 -1.185399 -0.546567 2.094643
2020-12-18 0.469394 -1.110549 -0.856245 0.260827A B C D
2020-12-14 0.133713 0.746781 0.499385 0.589799
2020-12-15 -0.643859 1.278050 1.099962 0.196176
2020-12-16 -0.235744 0.403971 1.684281 0.703756
2020-12-17 -1.402513 -1.528209 0.638330 2.208601
2020-12-18 -0.155546 -3.170027 -0.818492 2.863051
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 4),index = pd.date_range('12/14/2020', periods=5),columns = ['A', 'B', 'C', 'D']) #窗口大小为3,min_periods 最小观测值为1 r = df.rolling(window=3,min_periods=1) #对 A 列聚合 print(r['A'].aggregate(np.sum))
输出结果:
2020-12-14 1.051501
2020-12-15 1.354574
2020-12-16 0.896335
2020-12-17 0.508470
2020-12-18 2.333732
Freq: D, Name: A, dtype: float64
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 4),index = pd.date_range('12/14/2020', periods=5),columns = ['A', 'B', 'C', 'D']) #窗口大小为3,min_periods 最小观测值为1 r = df.rolling(window=3,min_periods=1) #对 A/B 两列聚合 print(r['A','B'].aggregate(np.sum))
输出结果:
A B
2020-12-14 0.639867 -0.229990
2020-12-15 0.352028 0.257918
2020-12-16 0.637845 2.643628
2020-12-17 0.432715 2.428604
2020-12-18 -1.575766 0.969600
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 4),index = pd.date_range('12/14/2020', periods=5),columns = ['A', 'B', 'C', 'D']) #窗口大小为3,min_periods 最小观测值为1 r = df.rolling(window=3,min_periods=1) #对 A/B 两列聚合 print(r['A','B'].aggregate([np.sum,np.mean]))
输出结果:
sum mean
2020-12-14 -0.469643 -0.469643
2020-12-15 -0.626856 -0.313428
2020-12-16 -1.820226 -0.606742
2020-12-17 -2.007323 -0.669108
2020-12-18 -0.595736 -0.198579
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 4), index = pd.date_range('12/11/2020', periods=5), columns = ['A', 'B', 'C', 'D']) r = df.rolling(window=3,min_periods=1) print( r['A','B'].aggregate([np.sum,np.mean]))
输出结果:
A B
sum mean sum mean
2020-12-14 -1.428882 -1.428882 -0.417241 -0.417241
2020-12-15 -1.315151 -0.657576 -1.580616 -0.790308
2020-12-16 -2.093907 -0.697969 -2.260181 -0.753394
2020-12-17 -1.324490 -0.441497 -1.578467 -0.526156
2020-12-18 -2.400948 -0.800316 -0.452740 -0.150913
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(3, 4), index = pd.date_range('12/14/2020', periods=3), columns = ['A', 'B', 'C', 'D']) r = df.rolling(window=3,min_periods=1) print(r.aggregate({'A': np.sum,'B': np.mean}))
输出结果:
A B
2020-12-14 0.503535 -1.301423
2020-12-15 0.170056 -0.550289
2020-12-16 -0.086081 -0.140532
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,今天通过本文给大家介绍Python Pandas的简单使用教程,感兴趣的朋友一起看看吧
这篇文章主要分享的是18个Python编程技巧,文章围绕 Python的相关资料展开详细全文,对工作中的你了能具有一定的参考价值,需要的朋友可以参考一下,希望对你有所帮助
大家好,本篇文章主要讲的是Python中的变量,参数和模块介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
Python编程语言中的 while 循环语句只要给定条件为真,则会重复执行的目标声明或语句。
学习神经网络已经有一段时间,从普通的BP神经网络到LSTM长短期记忆网络都有一定的了解,但是从未系统的把整个神经网络的结构记录下来,我相信这些小记录可以帮助我更加深刻的理解神经网络
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008