标签: aggregate

postgres中的列别名用于计算值

我尝试在postgres中使用别名来进行此查询,但postgres停止并抱怨ERROR:列"subtotal"不存在

SELECT SUM(price) AS subtotal, 
       subtotal * 3.0 AS fees,
       (subtotal + fees) AS total
  FROM cart
Run Code Online (Sandbox Code Playgroud)

您不能将别名用作下一列的一部分吗?

sql postgresql alias aggregate

4
推荐指数
1
解决办法
3656
查看次数

如何实施Telerik Custom Aggregate?

我有一个Telerik Grid,它有一个需要显示列总和的页脚.但是,其中一个列的数据类型是TimeSpanTelerik的Sum聚合不支持的.我需要用来GridBoundColumnBuilder.Aggregate()添加聚合.所以我想基本上问题是如何在telerik的Aggregate()方法中引用我的自定义聚合.如果你发现其他任何我做错了,请随意指出:)使用这篇文章,我为我的自定义聚合创建了一个类SumAggregate,如下所示.(请注意,这还没有完成 - 它取自文章.它实际上实现了一个完全不同的聚合)

SumAggregate.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Telerik.Web.Mvc;

namespace TelerikPOC.CustomAggregates
{
    public class SumAggregate : AggregateFunction
    {
        private System.Collections.Generic.List<object> distinctValues;

        /// <summary>
        /// Initializes the current aggregate function to its initial
        /// state ready to accumulate and merge values.
        /// </summary>
        /// <remarks>
        /// This method is called every time the accumulation of values 
        /// must start over for a new subset of …
Run Code Online (Sandbox Code Playgroud)

c# aggregate telerik telerik-grid asp.net-mvc-3

4
推荐指数
1
解决办法
7918
查看次数

Pandas交叉表,但是来自第三列聚合的值

这是我的问题:

df = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'one'] ,
                   'B': ['Ar', 'Br', 'Cr', 'Ar','Ar'] ,
                   'C': [1, 0, 0, 1,0 ]})
Run Code Online (Sandbox Code Playgroud)

我想生成类似pd.crosstab函数输出的东西,但是列和行的交集上的值应该来自第三列的聚合:

    Ar,  Br, Cr
one 0.5 0  0
two 1  0  0
Run Code Online (Sandbox Code Playgroud)

例如,在'C'列中有两个'one'和'Ar'对应值的情况是1,0我们将列'C'(0 + 1)中的值相加并除以'C'列中的值的数量',所以我们得到(0 + 1)/ 2 = 0.5.每当组合不存在时,我们(如'Cr'和'one')我们将它设置为零.有什么想法吗?

python aggregate pandas

4
推荐指数
2
解决办法
5416
查看次数

是否有可能在Pymongo中创建一个没有光标超时的聚合?

聚合看起来像:

res = Things.objects._collection.aggregate(pipeline,
            allowDiskUse=True,
            batchSize=101,
            noCursorTimeout=True
        )
Run Code Online (Sandbox Code Playgroud)

并失败了

OperationFailure:无法识别的字段'noCursorTimeout'

从Pymongo文档中可以看出no_cursor_timeout可以和find()一起使用,但是我找不到为aggregate()找到类似的**kwargs是不成功的.

我不想使用setParameter或maxTimeMS.

更新:

来自MongoDB的Jira站点:SERVER-15042

OP_QUERY标头中的NoCursorTimeout位可防止服务器关闭空闲超过10分钟的游标.如果客户可能花费超过10分钟处理一批结果,客户可以设置此位.

"aggregate"和"parallelCollectionScan"命令也应允许客户端关闭游标超时.

这张票的回复是:

我们故意不支持noCursorTimeout.当我们实现游标keepalive时,需要这个的基本原理就会消失.该工作将在SERVER-6036中进行跟踪.

看看SERVER-6036:

  • 更新时间:2016年9月14日下午03:53:05 GMT + 0000
  • 状态:打开
  • 解决方案:尚未解决
  • 修复版本:已计划但未计划

如果我已正确读取文档,则对于aggregate()还不存在游标no timeout选项.

python aggregate find pymongo

4
推荐指数
1
解决办法
2933
查看次数

不带聚合函数的Pivot或Oracle中按组排列的列

我试图按行的类型将行转换为列.
这里给出了Table_1 Table_1

           Table_1
CITY            AMOUNT      TYPE_ID
Moscow         158000          1
New York       94500           1
Moscow         1478000         2
Los Angeles    162000          2
New York       5500000         2
Los Angeles    35400           1
Moscow         741200          1
Run Code Online (Sandbox Code Playgroud)

并且在结果中使用select脚本我想在Table_2 Table_2中使用

            Table_2
CITY           TYPE_1_AMOUNT       TYPE_2_AMOUNT
Moscow           158000               1478000
Moscow           741200                  NULL
New York         94500                5500000
Los Angeles      35400                162000
Run Code Online (Sandbox Code Playgroud)

我试过PIVOT.但必须有聚合函数.
聚合函数MAX()仅检索最大量...

sql oracle pivot aggregate

4
推荐指数
1
解决办法
8832
查看次数

计算R中的值的数量

我有以下数据集:

    ClaimType ClaimDay ClaimCost   dates    month      day
1         1        1     10811 1970-01-01     1 1970-01-01
2         1        1     18078 1970-01-01     1 1970-01-01
3         1        2     44579 1970-01-01     1 1970-01-02
4         1        3     23710 1970-01-01     1 1970-01-03
5         1        4     29580 1970-01-01     1 1970-01-04
6         1        4     36208 1970-01-01     1 1970-01-04
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的数据集,其中包含"声明日"和"日期"列.索赔日应按每个值计算.所以例如,因为我们有两个,一个是两个,一个是三个,然后是两个四,我希望​​新的数据集如下:

ClaimDay   day
2         1970-01-01
1         1970-01-02
1         1970-01-03
2         1970-01-04
Run Code Online (Sandbox Code Playgroud)

如您所见,Claimday和day是相关的.

我试过了

mydata <- aggregate(ClaimDay~Day,FUN=sum,data=mydata)$ClaimDay
Run Code Online (Sandbox Code Playgroud)

但问题是,在聚合时它会计算摘要.

任何人都可以帮我解决我的问题吗?

aggregate r dataframe

4
推荐指数
2
解决办法
2万
查看次数

使用sum,length和grep聚合data.table

让我们做一个data.table:

dt <- data.table(x.1=1:8, x.2=1:8, x.3=2:9, vessel=rep(letters[1:2], each=4), Year=rep(2012:2015, 2))
dt
   x.1 x.2 x.3 vessel Year
1:   1   1   2      a 2012
2:   2   2   3      a 2013
3:   3   3   4      a 2014
4:   4   4   5      a 2015
5:   5   5   6      b 2012
6:   6   6   7      b 2013
7:   7   7   8      b 2014
8:   8   8   9      b 2015
Run Code Online (Sandbox Code Playgroud)

我可以使用函数长度和总和来汇总它,以获得每年所有x的总和以及每年独特船只的总和,如下所示:

dt[, 
            list(
  x.1=sum(x.1),
  x.2=sum(x.2),
  x.3=sum(x.3),
  vessels=length(unique(vessel))),
    by=list(Year=Year)]

   Year x.1 x.2 x.3 vessels
1: 2012   6 …
Run Code Online (Sandbox Code Playgroud)

grep aggregate r data.table

4
推荐指数
1
解决办法
171
查看次数

mongodb中的聚合函数

我有一个db数据如下

{
"_id" : ObjectId("5a2109572222085be93ef10d"),
"name" : "data1",
"date" : "2017-12-01T00:00.0Z",
"status" : "COMPLETED"},{
"_id" : ObjectId("5a2109572222085be93ef10d"),
"name" : "data1",
"date" : "2017-12-01T00:00.0Z",
"status" : "FAILED"}
Run Code Online (Sandbox Code Playgroud)

我想要一个agreagate输出如下

{date:"2017-12-01T00:00:0Z",总数:"2",完成:1,失败:1}

我试过这段代码,但没有产生上面的结果

db.test.aggregate([
{$group: {_id : {date : '$date',status:'$status'}, total:{$sum :1}}},
{$project : {date : '$_id.date', status : '$_id.status', total : '$total', _id : 0}}
])
Run Code Online (Sandbox Code Playgroud)

aggregate mongoose mongodb node.js

4
推荐指数
1
解决办法
202
查看次数

使用多个函数在groupby.agg中传递参数

任何人都知道如何在具有多个函数的groupby.agg()中传递参数?

底线,我想用自定义函数中使用它,但我会用一个内置的功能需要一个参数问我的问题.

假设:

import pandas as pd
import numpy as np
import datetime
np.random.seed(15)
day = datetime.date.today()
day_1 = datetime.date.today() - datetime.timedelta(1)
day_2 = datetime.date.today() - datetime.timedelta(2)
day_3 = datetime.date.today() - datetime.timedelta(3)
ticker_date = [('fi', day), ('fi', day_1), ('fi', day_2), ('fi', day_3),
               ('di', day), ('di', day_1), ('di', day_2), ('di', day_3)]
index_df = pd.MultiIndex.from_tuples(ticker_date, names=['lvl_1', 'lvl_2'])
df = pd.DataFrame(np.random.rand(8), index_df, ['value'])
Run Code Online (Sandbox Code Playgroud)

我该怎么做:

df.groupby('lvl_1').agg(['min','max','quantile'])
Run Code Online (Sandbox Code Playgroud)

有,作为'分位数'的论据:

q = 0.22 
Run Code Online (Sandbox Code Playgroud)

python group-by aggregate pandas

4
推荐指数
1
解决办法
1071
查看次数

如何计算数据框中的唯一行?

我在R中有一个数据框,它有很多重复的记录.我有兴趣了解每个数据框中有多少条记录.

例如,我有这个数据框:

Fake Name       Fake ID    Fake Status   Fake Program
June             0003         Green        PR1
June             0003         Green        PR1
Television       202          Blue         PR3
Television       202          Green        PR3    
Television       202          Green        PR3
CRT              12           Red          PR0
Run Code Online (Sandbox Code Playgroud)

从上面我想得到类似下面的东西:

Fake Name       Fake ID    Fake Status   Fake Program     COUNT
June             0003         Green        PR1              2
Television       202          Blue         PR3              1
Television       202          Green        PR3              2
CRT              12           Red          PR0              1
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢.

aggregate r ply dataframe dplyr

4
推荐指数
2
解决办法
3712
查看次数