标签: aggregate

LINQ | 如何在没有分组的情况下获得SUM?

疯狂的问题...但是,我想要一个表中的所有行的总和(不使用group by子句)

例:

Table = Survey
Columns = Answer1, Answer2, Answer3
        1        1         1
        4        3         5
        3        3         2
Run Code Online (Sandbox Code Playgroud)

我想要每列的总和.

最终结果应如下所示:

Answer1Sum  Answer2Sum  Answer2Sum

8           7           8
Run Code Online (Sandbox Code Playgroud)

这不起作用:

from survey in SurveyAnswers
select new
{
    Answer1Sum = survey.Sum(),
    Answer2Sum = survey.Sum(),
    Answer3Sum = survey.Sum()
 }
Run Code Online (Sandbox Code Playgroud)

linq linq-to-entities aggregate sum aggregation

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

如何获取Core Data列的平均值?

如果我有以下NSManagedObject,我如何获得值number1的平均值和值的平均值number2

@interface Log :  NSManagedObject  
{


}


@property (nonatomic, retain) NSNumber * number1;
@property (nonatomic, retain) NSNumber * number2;
Run Code Online (Sandbox Code Playgroud)

感谢:D

aggregate core-data objective-c ios

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

SQL聚合函数子查询

我想要做的是计算子查询返回的行数,基本上如下:

select pp.prop_id, COUNT((select employee_id from employee e where e.ao1_hours > 0))
  from proposal_piece pp

  group by pp.prop_id
  order by pp.prop_id
Run Code Online (Sandbox Code Playgroud)

这是我的错误消息:

Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?如果select只返回一堆employee_id's带有过滤条件的行为,为什么我不能计算行数或employee_id's返回的行数?

我希望能算出拥有的不同员工的数量ao1_hours > 0.由...分组prop.

以下是有关我的数据库的一些结构信息,作为查询的一部分.

    from proposal_piece pp
    INNER JOIN employee e
    on pp.employee_id = e.employee_id
Run Code Online (Sandbox Code Playgroud)

谢谢!

sql aggregate rows count subquery

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

将15分钟步骤的值聚合为每小时步骤的值

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

     Timedate              TotalSolar_MW
20  2013-06-01 04:45:00     13.0
21  2013-06-01 05:00:00     41.7
22  2013-06-01 05:15:00     81.8
23  2013-06-01 05:30:00    153.0
24  2013-06-01 05:45:00    270.7
25  2013-06-01 06:00:00    429.3
26  2013-06-01 06:15:00    535.4
Run Code Online (Sandbox Code Playgroud)

"Timedate"是POSIXlt,而"Total_Solar"是numeric.时间步长为15分钟,从6月1日,0:00到6月24日,24:00.

现在我想aggregate按小时计算每小时数据,例如2013-06-01 06:00:00 934.8MW(81.8MW + 153.0MW + 270.7MW + 429.3MW;从05:15到06:00)

我试过这个:

 Sum <-aggregate(Total_Solar_Gesamt$TotalSolar_MW, 
          list(as.POSIXlt(Total_Solar_Gesamt$Timedate)$hour), FUN=sum)
Run Code Online (Sandbox Code Playgroud)

但它返回整个数据框的聚合小时数据,并为我提供了一个新的data.frame,包含24行,每小时总计MW.

如何更改结构,只是从四分之一小时减少到每小时一次?我尝试了一个for循环,但这也没有用.也subset没对我工作.

谢谢您的帮助!

aggregate r dataframe posixct

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

R:基于因子或数字的聚合

我正在尝试聚合一些数字和因子变量的数据.如果变量是数字我喜欢平均值.如果这是一个我喜欢最常见价值的因素.我写了以下函数但是没有得到我想要的输出:

meanOrMostFreq <- function(x){
    if(class(x) == 'factor'){
    tbl <- as.data.frame(table(x))
    tbl$Var1 <- as.character(tbl$Var1)
    return(tbl[tbl$Freq == max(tbl$Freq),'Var1'][1])
    }
    if(class(x) == 'numeric'){
    meanX <- mean(x, na.rm = TRUE)
    return(meanX)
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我使用它的方式:

df1 <- iris[1:148,]
df1$letter1 <- as.factor(rep(letters[1:4], 37))

momf <- aggregate(.~ Species, df1, FUN = function(x) meanOrMostFreq(x))
Run Code Online (Sandbox Code Playgroud)

结果如下:

> momf
     Species Sepal.Length Sepal.Width Petal.Length Petal.Width letter1
1     setosa     5.006000    3.428000     1.462000       0.246    2.46
2 versicolor     5.936000    2.770000     4.260000       1.326    2.54
3  virginica     6.610417    2.964583     5.564583       2.025    2.50
Run Code Online (Sandbox Code Playgroud)

我希望在最后一栏中得到一个实际的字母,而不是一个数字.关于我做错的任何建议?

aggregate r

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

分组并有条件地计算

我还在学习R中的数据管理.我知道我非常接近,但无法获得精确的语法.我通过使用R中的条件条件计数以及在R中分组来查看 计数变量 但是不能完全转换为我的工作.我试图得到一个由ST等于0的dist.km计数.最终我想要添加具有不同距离范围的计数的列,但是应该能够在得到它之后得到它.最终表应该具有所有状态并且计数为0.这是一个20行的样本.

structure(list(ST = structure(c(12L, 15L, 13L, 10L, 15L, 16L, 
11L, 12L, 8L, 14L, 10L, 14L, 6L, 11L, 5L, 5L, 15L, 1L, 6L, 4L
), .Label = c("CT", "DE", "FL", "GA", "MA", "MD", "ME", "NC", 
"NH", "NJ", "NY", "PA", "RI", "SC", "VA", "VT", "WV"), class = "factor"), 
Rfips = c(42107L, 51760L, 44001L, 34001L, 51061L, 50023L, 
36029L, 42101L, 37019L, 45079L, 34029L, 45055L, 24003L, 36027L, 
25009L, 25009L, 51760L, 9003L, 24027L, 1111L), zip = c(17972L, 
23226L, 2806L, 8330L, …
Run Code Online (Sandbox Code Playgroud)

grouping aggregate r count

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

R中的聚合NA

我在计算聚合方法时遇到麻烦.请参阅以下代码:

tab=data.frame(a=c(1:3,1:3), b=c(1,2,NA,3,NA,NA))
tab
  a  b
1 1  1
2 2  2
3 3 NA
4 1  3
5 2 NA
6 3 NA

attach(tab)
aggregate(b, by=list(a), data=tab, FUN=mean, na.rm=TRUE)
  Group.1   x
1       1   2
2       2   2
3       3 NaN
Run Code Online (Sandbox Code Playgroud)

如果向量具有所有NA,我想要NA而不是NaN,即我想要输出

  Group.1   x
1       1   2
2       2   2
3       3  NA
Run Code Online (Sandbox Code Playgroud)

我尝试使用自定义函数:

adjmean=function(x) {if(all(is.na(x))) NA else mean(x,na.rm=TRUE)}
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

aggregate(b, by=list(a), data=tab, FUN=adjmean)

Error in FUN(X[[1L]], ...) : 
  unused argument (data = list(a = c(1, 2, 3, 1, 2, …
Run Code Online (Sandbox Code Playgroud)

aggregate r nan na

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

如何使用R中的聚合函数计算数据框中的均值?

我有一个数据框df1:

number=c(4,3,2,3,4,1)
year=c("2000","2000","2000", "2015", "2015", "2015")
items=c(12, 10, 15, 5, 10, 7)
df1=data.frame(number, year, items)
setDT(df1)[, Prop := number/sum(number), by = year]
Run Code Online (Sandbox Code Playgroud)

这样看起来像这样:

  number year items      Prop
1:      4 2000    12 0.4444444
2:      3 2000    10 0.3333333
3:      2 2000    15 0.2222222
4:      3 2015     5 0.3750000
5:      4 2015    10 0.5000000
6:      1 2015     7 0.1250000
Run Code Online (Sandbox Code Playgroud)

我想获取每年项目数的平均值,因此我尝试使用此功能:

mean.df1=aggregate((df1$number*df1$Prop),list(df1$year), mean)
Run Code Online (Sandbox Code Playgroud)

但返回的均值错误值。我希望它返回:

  Group.1        x
1    2000 2.918918
2    2015 2.296296
Run Code Online (Sandbox Code Playgroud)

其中Group.1是年份,x是正确的平均值。

谢谢!

aggregate r

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

在对另一列进行分组之后,查找一列值的最大出现

我有一个熊猫数据框:

        id                city
 000.tushar@gmail.com   Bangalore
 00078r@gmail.com       Mumbai
0007ayan@gmail.com      Jamshedpur
0007ayan@gmail.com      Jamshedpur
000.tushar@gmail.com    Bangalore
  00078r@gmail.com      Mumbai
  00078r@gmail.com      Vijayawada
  00078r@gmail.com      Vijayawada
  00078r@gmail.com      Vijayawada
Run Code Online (Sandbox Code Playgroud)

我想以id-wise查找出现的最大城市名称。因此,对于给定的ID,我可以说-这是他最喜欢的城市:

         id             city
000.tushar@gmail.com   Bangalore
00078r@gmail.com       Vijayawada
0007ayan@gmail.com     Jamshedpur
Run Code Online (Sandbox Code Playgroud)

使用groupby id和city可以得到:

         id                   city       count
0  000.tushar@gmail.com       Bangalore    2
1      00078r@gmail.com        Mumbai      2
2      00078r@gmail.com      Vijayawada    3
3    0007ayan@gmail.com      Jamshedpur    2
Run Code Online (Sandbox Code Playgroud)

如何进一步进行?我相信一些按组申请可以做到这一点,但不知道到底是什么会成功。所以请提出建议。

如果两个或三个城市的ID数相同,则可以返回其中任何一个城市。

python group-by aggregate max pandas

3
推荐指数
2
解决办法
1847
查看次数

分组和组合字符串

为了简化我的问题,我创建了一个小型DataFrame,如下所示:

Type  From  To
A    "H1"  "U1"
A    "H9"  "I8"
A    "H1"  "IL"
B    "P2"  "P8"
B    "P2"  "P7"
C    "P9"  "O8"
C    "P9"  "I0"
C    "P7"  "O8"
Run Code Online (Sandbox Code Playgroud)

在对字符串进行分组和汇编之后,我们应该得到以下期望的结果:

Type  From  To 
A    "H1"  "U1, IL"
A    "H9"  "I8"
B    "P2"  "P8, P7"
C    "P9"  "O8, I0"
C    "P7"  "O8"
Run Code Online (Sandbox Code Playgroud)

我做了它R使用splitaggregate功能.对于任何想法或建议如何使用Python,我将非常感谢!

python group-by aggregate r

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