标签: aggregate

SQL Server聚合性能

我想知道如果你想在查询中使用聚合,SQL Server是否知道'缓存',如果再次使用它们.

例如,

Select Sum(Field),
       Sum(Field) / 12
From   Table
Run Code Online (Sandbox Code Playgroud)

SQL Server是否知道它已经在第一个字段上计算了Sum函数,然后将它除以第二个字段的12?或者它会再次运行Sum函数然后除以12?

谢谢

sql sql-server math performance aggregate

11
推荐指数
1
解决办法
763
查看次数

根据另一列中的值汇总一列中的数据

我知道有一种简单的方法可以做到这一点......但是,我无法弄明白.

我的R脚本中有一个数据帧,如下所示:

A      B    C
1.2    4    8
2.3    4    9
2.3    6    0
1.2    3    3
3.4    2    1 
1.2    5    1
Run Code Online (Sandbox Code Playgroud)

请注意,A,B和C是列名.而我正试图得到这样的变量:

sum1 <- [the sum of all B values such that A is 1.2]
num1 <- [the number of times A is 1.2]
Run Code Online (Sandbox Code Playgroud)

有什么简单的方法吗?我基本上想要得到一个如下所示的数据框:

    A     num     totalB
   1.2    3       12
   etc    etc     etc
Run Code Online (Sandbox Code Playgroud)

其中"num"是特定A值出现的次数,"totalB"是给定A值的B值之和.

aggregate r dataframe

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

R行表示按组(或唯一ID)在多个列上

我有一个如下数据框(20,000行乘49列).每行具有唯一的名称(ID),每个ID在3列中具有3个重复读数(例如D15C D15C.1 D15C.2).组合名称的前4个字母("D15C")是组名.我需要按组名称对列进行平均(例如,平均D15C,D15C.1和D15.2得到D15C),因此最终表将合并为49列中的16列.

          ID  D04C D04C.1  D08H D08H.1 D08H.2  D15C D15C.1 D15C.2  D15L D15L.1 D15L.2
1 1367452_at 11.11  10.93 11.85  10.94  10.87 10.73  10.62  10.85 10.73  10.77  10.52   
2 1367453_at  9.65   9.94  9.78   9.68   9.67  9.86   9.71   9.82  9.74   9.71   9.76   
3 1367454_at 10.19  10.36  9.68  10.07  10.08 10.35  10.26  10.32 10.27  10.19  10.47   
(… 20000 rows)                                              
Run Code Online (Sandbox Code Playgroud)

我将其转置并编辑到以下数据框以便使用聚合:

      ID 1367452_at 1367453_at 1367454_at ... ...
1   D04C      11.11       9.65      10.19
2   D04C      10.93       9.94      10.36
3   D08H      11.85       9.78       9.68
4 …
Run Code Online (Sandbox Code Playgroud)

aggregate r mean data.table

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

任何类型的数组总是聚合吗?

class A 
{
public:
    A(){}

private:
    int i;
};

A a[8];
Run Code Online (Sandbox Code Playgroud)

C++ 11标准8.5.1.1说:

"聚合是一个数组或类(第9条),没有用户提供的构造函数(12.1),非静态数据成员(9.2)没有大括号或相等的初始化,没有私有或受保护的非静态数据成员(子句) 11),没有基类(第10条),也没有虚函数(10.3)."

作为一个数组,是一个聚合?我想不是,但标准是肯定的.

c++ arrays standards aggregate c++11

11
推荐指数
1
解决办法
128
查看次数

R使用ddply或聚合

我有一个包含3列的数据框:custId,saleDate,DelivDateTime.

> head(events22)
     custId            saleDate      DelivDate
1 280356593 2012-11-14 14:04:59 11/14/12 17:29
2 280367076 2012-11-14 17:04:44 11/14/12 20:48
3 280380097 2012-11-14 17:38:34 11/14/12 20:45
4 280380095 2012-11-14 20:45:44 11/14/12 23:59
5 280380095 2012-11-14 20:31:39 11/14/12 23:49
6 280380095 2012-11-14 19:58:32 11/15/12 00:10
Run Code Online (Sandbox Code Playgroud)

这是输入:

> dput(events22)
structure(list(custId = c(280356593L, 280367076L, 280380097L, 
280380095L, 280380095L, 280380095L, 280364279L, 280364279L, 280398506L, 
280336395L, 280364376L, 280368458L, 280368458L, 280368456L, 280368456L, 
280364225L, 280391721L, 280353458L, 280387607L, 280387607L), 
    saleDate = structure(c(1352901899.215, 1352912684.484, 1352914714.971, 
    1352925944.429, 1352925099.247, 1352923112.636, 1352922476.55, 
    1352920666.968, 1352915226.534, 1352911135.077, 1352921349.592, …
Run Code Online (Sandbox Code Playgroud)

aggregate r plyr

11
推荐指数
2
解决办法
4330
查看次数

合并data.frames汇总R中相同列的值

我有3个数据框(行:站点,列:物种名称)的站点内的物种丰富度.行号相同,但列号不同,因为并非所有物种都在所有三个数据帧中.我想将它们合并到一个数据框架中,总结出相同物种的丰富程度.例如:

data.frame1

       Sp1  Sp2  Sp3  Sp4
site1   1    2    3    1
site2   0    2    0    1
site3   1    1    1    1
Run Code Online (Sandbox Code Playgroud)

data.frame2

       Sp1  Sp2  Sp4
 site1  0    1    2
 site2  1    2    0
 site3  1    1    1
Run Code Online (Sandbox Code Playgroud)

data.frame3

       Sp1  Sp2  Sp5  Sp6
 site1  0    1    1    1     
 site2  1    1    1    5
 site3  2    0    0    0
Run Code Online (Sandbox Code Playgroud)

我想拥有的是:

       Sp1  Sp2  Sp3  Sp4  Sp5  Sp6
 site1  1    4    3    3    1    1
 site2  2    5    0    1    1    5
 site3  4 …
Run Code Online (Sandbox Code Playgroud)

merge aggregate r dataframe

11
推荐指数
3
解决办法
1万
查看次数

如果元组具有相同的第一个元素,如何聚合元组列表的元素?

我有一个列表,其中每个值是一个元组列表.例如,这是我为密钥提取的值:

     [('1998-01-20',8) , ('1998-01-22',4) , ('1998-06-18',8 ) , ('1999-07-15' , 7), ('1999-07-21',1) ]
Run Code Online (Sandbox Code Playgroud)

我也对列表进行了排序.现在我想聚合这样的值:

    [('1998-01' , 12 ) , ('1998-06' ,8 ) , ('1999-07',8 )]
Run Code Online (Sandbox Code Playgroud)

从某种意义上说,我想按月分组我的元组,一起总结每个月的整数,我读过有关groupby的内容,我认为它对我的数据结构无法帮助,因为我不知道我会做什么面对我的列表,所以我想找个方法说:如果i [0] [:6]相等,从元组的第一个元素开始:sum i [1].但是我很难实现这个想法.

    for i in List :
        if i[0][:6] # *problem* I don't know how to say my condition :
        s=sum(i[1]) #?
Run Code Online (Sandbox Code Playgroud)

我很感激任何建议,因为我是python的新用户!

python aggregate list

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

R - 如何根据多个因子在不同的data.table列上运行average和max并返回原始的colnames

我正在将我的R代码从data.frame+ 更改plyrdata.tables,因为我需要一种更快,更有内存效率的方法来处理大数据集.不幸的是,我的R技能非常有限,而且我整天都遇到了问题.如果这里的SO专家可以启发,将不胜感激.

我的目标

  • 基于2个函数(平均值和最大值)在我的data.table中聚合行在所选列上运行(列名通过向量传递),而按列分组也通过向量传递.
  • 生成的DT应包含原始列名称.
  • 应该不会是DT的不必要的复制,以节省内存

我的测试代码

DT = data.table( a=LETTERS[c(1,1,1:4)],b=4:9, c=3:8, d = rnorm(6), 
                 e=LETTERS[c(rep(25,3),rep(26,3))], key="a" )

GrpVar1 <- "a"
GrpVar2 <- "e"
VarToMax <- "b"
VarToAve <- c( "c", "d")
Run Code Online (Sandbox Code Playgroud)

我尝试了什么,但没有为我工作

DT[, list( b=max( b ), c=mean(c), d=mean(d) ), by=c( GrpVar1, GrpVar2 ) ]  
# Hard-code col name - not what I want

DT[, list( max( get(VarToMax) ), mean( get(VarToAve) )), by=c( GrpVar1, GrpVar2 ) ]  
# Col names become …
Run Code Online (Sandbox Code Playgroud)

aggregate r data.table

11
推荐指数
2
解决办法
1753
查看次数

CQRS事件存储聚合与投影

在CQRS事件存储中,"聚合"是否包含事件的汇总视图或仅仅是对这些事件边界的引用?(组ID)

投影是事件的视图或表示,因此在聚合表示对我有意义的边界的情况下,而如果聚合包含当前的汇总状态,我会对两者之间的重复感到困惑.

aggregate projection cqrs event-sourcing event-store

11
推荐指数
1
解决办法
5142
查看次数

pandas groupby聚合元素列表添加

我有一个pandas数据框,如下所示:

X                      Y
71455  [334.0,  319.0,  298.0,  323.0]
71455  [3.0,  8.0,  13.0,  10.0]
57674  [54.0,  114.0,  124.0,  103.0]
Run Code Online (Sandbox Code Playgroud)

我想执行一个聚合groupby,以元素方式添加存储在Y列中的列表.代码我尝试过:

df.groupby('X').agg({'Y' : sum})   
Run Code Online (Sandbox Code Playgroud)

结果如下:

                                                   Y
X                                                       
71455  [334.0,  319.0,  298.0,  323.0, 75.0,  55.0,  ...
Run Code Online (Sandbox Code Playgroud)

所以它已经连接了列表而不是按元素加总.然而,预期的结果是:

X                      Y
71455  [337.0,  327.0,  311.0,  333.0]
57674  [54.0,  114.0,  124.0,  103.0]
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方法,但无法按预期工作.

python aggregate list pandas pandas-groupby

11
推荐指数
3
解决办法
1243
查看次数