zoukankan      html  css  js  c++  java
  • 金融量化分析【day111】:Pandas-分组与聚合

     一、分组与聚合

    在数据分析中,我们有时需要将数据拆分,在每一个特定的组里进行运算

    1、实验数据准备

    a = pd.read_csv('601318.csv')
    a
    

      数据如下:

    实验数据

    2、示例

    df.groupby('key1').mean()

    3、分组与聚合的步骤

    分组:拆分数据为若干组

    聚合:组内应用某个函数

    二、分组

    1、按一列分组

    df.groupby('key1').mean()

    2、按多列分组

    df.groupby(['key1','key2']).mean()
    

     

    3、自定义分组

    df.groupby(len).mean()

    df.groupby(lambda x:len(x)).mean()
    

      

    4、获取分组信息

    df.groupby(lambda x:'zheng' if df.loc[x,'data2']>0 else 'fu').mean()
    

      

    df.groupby('key1').get_group('b')
    

      

     

    三、聚合

    分组之后需要聚合函数来应用到每一组中

    内置聚合函数

    1、自定义聚合函数

    df.groupby('key1').agg(lambda x:x.max())
    

      

    2、多个聚合函数

    3、不同列应用不同聚合函数

    df.groupby('key1').agg({'data1':'min','data2':'max'})
    

      

    四、数据合并

    1、数据拼接

    df2 = df.copy()
    df3 = df.copy()
    pd.concat([df,df2,df3])

     

    pd.concat([df,df2,df3],keys=list('abc'))
    

      

    pd.concat([df,df2,df3],ignore_index=True)
    

      

    pd.concat([df,df2,df3],axis=1)
    

      

    pd.concat([df,df2,df3],axis=1,ignore_index=True)
    

      

    2、数据连接

    pd.merge(df,df2)
    

      

    pd.merge(df,df2,on='key1')
    

      

    pd.merge(df,df2)
    

      

    pd.merge(df,df2,on=['key1','key2'])
    

      

    3、合并小结 

  • 相关阅读:
    数据与C
    队列的基本实现代码
    栈的基本实现代码
    c中const定义的问题
    微博登录报错 sso package orsign error
    透明度修改
    <大话设计模式>工厂模式,策略模式
    弹键盘动画
    压缩图片,直接使用大图,在小控件上会有毛边
    删除数组中的元素
  • 原文地址:https://www.cnblogs.com/luoahong/p/9801935.html
Copyright © 2011-2022 走看看