Pandas入门之十二:聚合函数

已信任
Jupyter 服务器: 本地
Python 3: Not Started
[1]



import pandas as pd
import numpy as np



[6]




df = pd.DataFrame(np.random.randn(10,4), index=pd.date_range('20210714',periods=10),columns=['A','B','C','D'])
df
A    B    C    D
2021-07-14    0.059959    0.362997    -0.448651    -0.769695
2021-07-15    -1.877178    -1.039655    -0.626739    0.496913
2021-07-16    -0.180297    0.076142    0.204801    -1.294938
2021-07-17    -0.134805    -0.520249    -0.090241    0.077699
2021-07-18    1.923701    1.251582    1.056877    1.729408
2021-07-19    0.380681    -0.306409    0.144310    -0.454758
2021-07-20    -0.555998    1.655773    0.685202    0.327272
2021-07-21    1.602570    0.307256    -0.327326    0.007158
2021-07-22    0.475824    -0.364292    0.054033    -0.933068
2021-07-23    1.714851    0.889403    0.003356    0.008544
[7]



df.rolling(window=3).aggregate(np.sum)# 使聚合到一起的3条数据,求和
A    B    C    D
2021-07-14    NaN    NaN    NaN    NaN
2021-07-15    NaN    NaN    NaN    NaN
2021-07-16    -1.997517    -0.600516    -0.870589    -1.567720
2021-07-17    -2.192281    -1.483762    -0.512178    -0.720326
2021-07-18    1.608598    0.807474    1.171438    0.512169
2021-07-19    2.169577    0.424924    1.110947    1.352348
2021-07-20    1.748385    2.600946    1.886390    1.601921
2021-07-21    1.427254    1.656620    0.502186    -0.120328
2021-07-22    1.522396    1.598737    0.411909    -0.598638
2021-07-23    3.793245    0.832366    -0.269937    -0.917366
[8]



r = df.rolling(window=3)
r[['A','B']].aggregate(np.max)
A    B
2021-07-14    NaN    NaN
2021-07-15    NaN    NaN
2021-07-16    0.059959    0.362997
2021-07-17    -0.134805    0.076142
2021-07-18    1.923701    1.251582
2021-07-19    1.923701    1.251582
2021-07-20    1.923701    1.655773
2021-07-21    1.602570    1.655773
2021-07-22    1.602570    1.655773
2021-07-23    1.714851    0.889403
[9]



r[['A','B']].aggregate([np.max,np.min])
A    B
amax    amin    amax    amin
2021-07-14    NaN    NaN    NaN    NaN
2021-07-15    NaN    NaN    NaN    NaN
2021-07-16    0.059959    -1.877178    0.362997    -1.039655
2021-07-17    -0.134805    -1.877178    0.076142    -1.039655
2021-07-18    1.923701    -0.180297    1.251582    -0.520249
2021-07-19    1.923701    -0.134805    1.251582    -0.520249
2021-07-20    1.923701    -0.555998    1.655773    -0.306409
2021-07-21    1.602570    -0.555998    1.655773    -0.306409
2021-07-22    1.602570    -0.555998    1.655773    -0.364292
2021-07-23    1.714851    0.475824    0.889403    -0.364292
[10]



r['A','B'].aggregate({'A':np.min,'B':np.max})# 分别使用聚合函数
A    B
2021-07-14    NaN    NaN
2021-07-15    NaN    NaN
2021-07-16    -1.877178    0.362997
2021-07-17    -1.877178    0.076142
2021-07-18    -0.180297    1.251582
2021-07-19    -0.134805    1.251582
2021-07-20    -0.555998    1.655773
2021-07-21    -0.555998    1.655773
2021-07-22    -0.555998    1.655773
2021-07-23    0.475824    0.889403
[-]
原文地址:https://www.cnblogs.com/vvzhang/p/15013142.html