aggregate_aggregates - CSDN
精华内容
参与话题
  • R语言aggregate函数

    万次阅读 2018-08-14 16:33:04
    aggregate函数可以按照要求把数据打组聚合,然后对聚合以后的数据进行加和、求平均等各种操作。 通过by设置分组因子,可以用多个类型的因子,可参见https://www.cnblogs.com/cloudtj/articles/5528903.html 待...

    aggregate函数可以按照要求把数据打组聚合,然后对聚合以后的数据进行加和、求平均等各种操作。

    通过by设置分组因子,可以用多个类型的因子,可参见https://www.cnblogs.com/cloudtj/articles/5528903.html

    待整理

    常规例子如下:对矩阵按照性别对年龄和身高求平均值

    展开全文
  • R语言常用函数之aggregate

    千次阅读 2017-03-22 10:15:03
    aggregate函数应该是数据处理中常用到的函数,简单说有点类似sql语言中的group by,可以按照要求把数据打组聚合,然后对聚合以后的数据进行加和、求平均等各种操作。   x=data.frame(name=
     转载:http://blog.sina.com.cn/s/blog_457b70790101dvbh.html

    R语言常用函数之aggregate

    aggregate函数应该是数据处理中常用到的函数,简单说有点类似sql语言中的group by,可以按照要求把数据打组聚合,然后对聚合以后的数据进行加和、求平均等各种操作。

     

    x=data.frame(name=c("张三","李四","王五","赵六"),sex=c("M","M","F","F"),age=c(20,40,22,30),height=c(166,170,150,155))


    构造一个很简单的数据,一组人的性别、年龄和身高,可以用aggregate函数来求不同性别的平均年龄和身高


    aggregate(x[,3:4],by=list(sex=x$sex),FUN=mean)

     

    几个注意点:

    • 字符或者factor类型的列不要一起加入计算,会报错
    • by参数要构造成list,如果有多个字段,by就对应队列,和group by多个字段是同样的道理

    x=data.frame(name=c("张三","李四","王五","赵六"),
                 sex=c("M","M","F","F"),age=c(20,40,22,30),height=c(166,170,150,155))
    aggregate(x[,3:4],by=list(sex=x$sex),FUN=mean)


    # sex age height
    # 1   F  26  152.5
    # 2   M  30  168.0
    展开全文
  • 聚合 aggregate

    2017-10-30 11:16:20
    聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg()语法 db.集合名称.aggregate([{管道:{表达式}}]) 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 ...

    聚合 aggregate

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

    管道

    • 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入
    ps ajx | grep mongo
    
    • 在mongodb中,管道具有同样的作用,文档处理完毕后,通过管道进行下一次处理
    • 常用管道
      • $group:将集合中的文档分组,可用于统计结果
      • $match:过滤数据,只输出符合条件的文档
      • $project:修改输入文档的结构,如重命名、增加、删除字段、创建计算结果
      • $sort:将输入文档排序后输出
      • $limit:限制聚合管道返回的文档数
      • $skip:跳过指定数量的文档,并返回余下的文档
      • $unwind:将数组类型的字段进行拆分

    表达式

    • 处理输入文档并输出
    • 语法
    表达式:'$列名'
    
    • 常用表达式
      • $sum:计算总和,$sum:1同count表示计数
      • $avg:计算平均值
      • $min:获取最小值
      • $max:获取最大值
      • $push:在结果文档中插入值到一个数组中
      • $first:根据资源文档的排序获取第一个文档数据
      • $last:根据资源文档的排序获取最后一个文档数据
    展开全文
  • aggregate聚合

    2019-07-06 03:54:32
    最近使用mongodb需要查询数据,用到了aggregate,学习下,上代码 db.表名.aggregate([ {$match:{'created_time':{$gte:'2016-01-15',$lte:'2019-01-20'},'token':{'$ne':null}}} ,{$group:{"_id":{"lm_number":...

    最近使用mongodb需要查询数据,用到了aggregate,学习下,上代码

    db.表名.aggregate([
    {$match:{'created_time':{$gte:'2016-01-15',$lte:'2019-01-20'},'token':{'$ne':null}}}
    ,{$group:{"_id":{"lm_number":"$lm_number","source_type":"$source_type","app":"$app","position":"$position","created_time":"$created_time","token":"$token"}}}
    ,{$group:{"_id":{"lm_number":"$_id.lm_number","source_type":"$_id.source_type","app":"$_id.app","created_time":"$_id.created_time","position":"$_id.position"}, "COUNT(token)" : {"$sum" : NumberInt(1)}}}
    ,{$project:{"_id": 0,"lm_number":"$_id.lm_number","created_time":"$_id.created_time","source_type":"$_id.source_type","app":"$_id.app","position":"$_id.position","COUNT(token)":"$COUNT(token)"}}
    ,{$sort:{"created_time":-1}
    ,{$skip:0}
    ,{$limit:1}
    ,{$unwind: {path: '$created_time',preserveNullAndEmptyArrays: true}}
    ]);
    

      对应的目标数据结构

    { 
        "_id" : ObjectId("5c469ad680499b3d42558c1b"), 
        "event_id" : "1002106", 
        "is_login" : "0", 
        "event_time" : "1548131024375", 
        "device_id" : "5c469ab9879842003a2dca3d", 
        "token" : "A4pudYt6COzQ-f2mSVAriPaloRGKKqKg", 
        "mobile" : "", 
        "version_code" : "10100", 
        "source_type" : "client", 
        "os" : "android", 
        "app" : "ep", 
        "channel" : "autoupdate", 
        "utm_source" : "", 
        "created_time" : "2019-01-18 12:23:50"
    }
    { 
        "_id" : ObjectId("5c469b5f526159282e5daabf"), 
        "ad_id" : "3", 
        "event_id" : "1002107", 
        "is_login" : "1", 
        "position" : "1", 
        "lm_number" : "2018122614102766196661", 
        "event_time" : "1548131161304", 
        "device_id" : "5c469b53879842003a2dd0f1", 
        "token" : "A4pudYt6COzQ-f2mSVAriPaloRGKKqKg", 
        "mobile" : "13894101298", 
        "version_code" : "10100", 
        "source_type" : "client", 
        "os" : "android", 
        "app" : "ep", 
        "channel" : "autoupdate", 
        "utm_source" : "aaa", 
        "created_time" : "2019-01-16 12:26:07", 
        "user_id" : "258"
    }

      #$match:过滤,按条件筛选。$gte大于等于,$lte小于等于,$gt大于,$lt小于
      #$group:分组聚合。$sum计算总和,{$sum: 1}表示返回总和×1的值(即总和的数量),使用{$sum: '$制定字段'}也能直接获取制定字段的值的总和
      #$project:投射,从聚合的子文档中提取字段供显示,也可重命名(注意显示的字段必须要在子文档中存在);其中的"_id"为0则不显示其值,反之为1显示
      #$sort:排序,-1为desc降序,1位asc正序
      #skip:跳过指定数量条数,默认0。类似mysql的limit的第一个参数
      #limit:限制读取的条数。类似mysql的limit的第二个参数
      #unwind:对其中指定的数组类型进行拆分,最终每条信息中包含数组的一个值。还可以写成{$unwind:'$created_time'},其中的$created_time是数据中的一个字段,此字段可以为空数组、非数组、null、字符串。数组会拆分如上述所讲,其他值若不设置会丢失(除字符串)。所以就需要使用preserveNullAndEmptyArrays的写法,其值为true既保留空数组等;path为指定的字段。

     

      ###注意,这里连续使用了两个group,第一个$group为多条件分组聚合,第二个为多重分组聚合
      ###用mysql的思想就是

    select lm_number,source_type,app,position,count(token) from (
    
    	select 
    	lm_number
    	,source_type
    	,app
    	,position
    	,token 
    	from 表名
    	group by lm_number,source_type,app,position,token
    	
    ) as t group by lm_number,source_type,app,position;
    

      ###第一个相当于上述的子查询那部分,第二个就是外面的那部分。在很多聚合后还会有重复的场景中就可以使用多重聚合。

     

      ###多重聚合取总数:
      ##多个条件时:

    db.表名.aggregate([
    {$group:{"_id":{"lm_number":"$_id.lm_number","source_type":"$_id.source_type","app":"$_id.app","created_time":"$_id.created_time","position":"$_id.position"}, "COUNT(token)" : {"$sum" : NumberInt(1)}}}
    ]);
    

      ##单个条件时:

    db.表名.aggregate([
    {$group:{"_id":"lm_number", "count" : {"$sum" : NumberInt(1)}}}
    ]);
    

      学习学习学习...

     

    转载于:https://www.cnblogs.com/two-bees/p/10483330.html

    展开全文
  • MongoDB中的aggregate()方法

    万次阅读 2018-05-26 14:49:01
    MongoDB的一个很大的好处是能够使用MapReduce来吧数据库查询的结果简化成一个与原来的集合完全不同的结构。MapReduce把一个数据库查询的值映射为一个完全不同的形式,然后简化结果,使它们的可用性更好。...
  • 8.aggregate()

    2018-09-18 09:08:23
    aggregate(x, ...) ## Default S3 method: aggregate(x, ...) ## S3 method for class 'data.frame' aggregate(x, by, FUN, ..., simplify = TRUE) ## S3 method for class 'formula' aggregate(...
  • aggregate

    2019-11-11 19:14:18
    # 统计orders集合数量 db.orders.aggregate( [ { $group: { _id: null, count: { $sum: 1 } } }, { $project: { _id: 0 } } ] ) db.articles.insertMany([ { _id: ObjectId("12769ea0f3dc6ead47c9a1b...
  • Pandas:细说groupby和aggregate、transform、apply以及filter

    千次阅读 多人点赞 2019-09-02 12:31:50
    这一个知识点感觉是目前接触的Pandas中最难的了,故写篇博客记录一下,这一节有点函数式编程的味道~ (一)groupby 先说一下goupby,顾名思义,就是分组的意思,给你一个DataFrame,以某一列为标准,分成若干个...
  • SQL函数(一) --- Aggregate

    千次阅读 2018-01-31 13:25:08
    SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。 AVG 函数 SQL COUNT 函数 SQL FIRST 函数 SQL LAST 函数 SQL MAX 函数 SQL MIN Function SQL SUM 函数 SQL GROUP BY 语句 SQL HAVING 子句 ...
  • [openstack]nova aggregate概念理解

    千次阅读 2014-01-08 11:46:19
    概述 aggregate进一步切分了availability zone的概念。AZ对用户是可见的,aggregate仅仅对管理员可见,用户并不可用。...管理员可以给aggregate设置metadata,一个host可以属于多个aggregate,基于aggregate的metadat
  • No numeric types to aggregate报错

    万次阅读 2019-06-20 09:30:50
    pandas使用pivote_table时,报错 报这个错多半是因为你指定的列里不能执行所对应的聚合操作,你所指定的数字列里包含着字符串或者其他的数据类型 要想解决此报错主要就是检查你所指定的列内,此处我使用的是...
  • c++ aggregate ‘std::stringstream ss’ has incomplete type and cannot be defined这个问题是使用了stringstream这个类,但没有包含头文件ssteam的缘故增加#include 即可解决
  • 我们知道,mongo 里的普通查询语句是没有分组查询功能的,如果要实现类似于关系型数据库 SQL 里的 group by 操作就要用 aggregate。遗憾的是副本集中,aggregate 操作是在主库执行(比如笔者的 3.0.3 就是这样的,...
  • 【Mongodb】aggregate限制返回字段

    千次阅读 2017-01-22 21:51:37
    db.xx.aggregate({$project:{_id:1}}) db.xx.aggregate({$match:{opTime:{$gt:1475091390000}}},{$project:{_id:1}},{$skip:5},{$limit:6},{$sort:{hot:-1}}) 参考:http://www.jb51.net/a
  • mongo 的 find和aggregate

    千次阅读 2016-12-02 10:22:23
    db.d.find({},{‘Detail’:0}).sort({‘RecordCreateTime’:-1}).skip(400).limit(20) 报异常: “Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 ...
  • python使用pivot_table长表转宽表报错:No numeric types to aggregate 解决办法 首先查看数据的类型 再将数据类型强制转换 赋值给原数据
  • MongoDB aggregate做统计数据(group进阶)。
  • 假设有如下一条SQL语句SELECT AVG(xuo.`attach_succ_rate`) AS `attach_succ_rate` FROM `xdr_user_oriented` AS `xuo` WHERE xuo.`id` 其中 xuo.`id` 这个条件,正常情况下,肯定是不会满足的(没有哪个数据库的...
  • 问题描述:  把struct结构体类型数据,强制转换成unsigned long 不能进行转换的原因是因为结构类型(包括 union)不是数量类型(Scalar Type);只有在数量类型之间才能进行转换。数量类型包括算术类型和...
  • C#使用Aggregate拼接字符串

    千次阅读 2015-08-07 10:13:53
    这应该算是委托的知识。 现在有个List list = new List(){aaa,bbb,ccc,ddd},我想拼成如下样式 aaa,bbb,ccc,ddd 这样的一个字符串。 该怎么办?...var resultStr = list.Aggregate((x, y) => x + "," + y);
1 2 3 4 5 ... 20
收藏数 74,682
精华内容 29,872
关键字:

aggregate