前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas-16.聚合

Pandas-16.聚合

作者头像
悠扬前奏
发布2019-05-29 17:17:32
4040
发布2019-05-29 17:17:32
举报
文章被收录于专栏:悠扬前奏的博客

Pandas-16.聚合

以如下代码作为例子:

代码语言:javascript
复制
df = pd.DataFrame(np.random.randint(-10,10, (5,4)),
      index = pd.date_range('1/1/2020', periods=5),
      columns = ['A', 'B', 'C', 'D'])

在整个数据窗口内应用聚合

代码语言:javascript
复制
print(df)
print(df.rolling(window=3,min_periods=1).aggre)
'''
            A  B  C  D
2020-01-01 -6  3 -5  3
2020-01-02 -2  8 -2 -6
2020-01-03 -4 -6  3  2
2020-01-04 -4 -5  1  0
2020-01-05 -3 -9  2 -6
               A     B    C    D
2020-01-01  -6.0   3.0 -5.0  3.0
2020-01-02  -8.0  11.0 -7.0 -3.0
2020-01-03 -12.0   5.0 -4.0 -1.0
2020-01-04 -10.0  -3.0  2.0 -4.0
2020-01-05 -11.0 -20.0  6.0 -4.0
'''

DataFrame的单列进行聚合

代码语言:javascript
复制
print(df)
print("----------")
print(df.rolling(window=3,min_periods=1).A.aggregate(np.sum))
'''
            A  B  C  D
2020-01-01 -6  3 -5  3
2020-01-02 -2  8 -2 -6
2020-01-03 -4 -6  3  2
2020-01-04 -4 -5  1  0
2020-01-05 -3 -9  2 -6
----------
2020-01-01    -6.0
2020-01-02    -8.0
2020-01-03   -12.0
2020-01-04   -10.0
2020-01-05   -11.0
Freq: D, Name: A, dtype: float64
'''
多列聚合
代码语言:javascript
复制
print(df)
print("----------")
print(df.rolling(window=3,min_periods=1)["A","C"].aggregate(np.sum))
'''
            A  B  C  D
2020-01-01 -6  3 -5  3
2020-01-02 -2  8 -2 -6
2020-01-03 -4 -6  3  2
2020-01-04 -4 -5  1  0
2020-01-05 -3 -9  2 -6
----------
               A    C
2020-01-01  -6.0 -5.0
2020-01-02  -8.0 -7.0
2020-01-03 -12.0 -4.0
2020-01-04 -10.0  2.0
2020-01-05 -11.0  6.0
'''

多函数

代码语言:javascript
复制
print(df)
print("----------")
print(df.rolling(window=3,min_periods=1)["A","C"].aggregate([np.sum,np.mean]))
'''
            A  B  C  D
2020-01-01 -6  3 -5  3
2020-01-02 -2  8 -2 -6
2020-01-03 -4 -6  3  2
2020-01-04 -4 -5  1  0
2020-01-05 -3 -9  2 -6
----------
               A              C          
             sum      mean  sum      mean
2020-01-01  -6.0 -6.000000 -5.0 -5.000000
2020-01-02  -8.0 -4.000000 -7.0 -3.500000
2020-01-03 -12.0 -4.000000 -4.0 -1.333333
2020-01-04 -10.0 -3.333333  2.0  0.666667
2020-01-05 -11.0 -3.666667  6.0  2.000000
'''

不同函数不同列

代码语言:javascript
复制
print(df)
print("----------")
print(df.rolling(window=3,min_periods=1).aggregate({"A": np.sum, "C":np.mean}))
'''
            A  B  C  D
2020-01-01 -6  3 -5  3
2020-01-02 -2  8 -2 -6
2020-01-03 -4 -6  3  2
2020-01-04 -4 -5  1  0
2020-01-05 -3 -9  2 -6
----------
               A         C
2020-01-01  -6.0 -5.000000
2020-01-02  -8.0 -3.500000
2020-01-03 -12.0 -1.333333
2020-01-04 -10.0  0.666667
2020-01-05 -11.0  2.000000
'''
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pandas-16.聚合
    • 在整个数据窗口内应用聚合
      • DataFrame的单列进行聚合
        • 多函数
          • 不同函数不同列
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档