标签: aggregate

在一次调用中按组对多个变量应用多个汇总函数

我有以下数据框架

x <- read.table(text = "  id1 id2 val1 val2
1   a   x    1    9
2   a   x    2    4
3   a   y    3    5
4   a   y    4    9
5   b   x    1    7
6   b   y    4    4
7   b   x    3    9
8   b   y    2    8", header = TRUE)
Run Code Online (Sandbox Code Playgroud)

我想计算按id1和id2分组的val1和val2的平均值,并同时计算每个id1-id2组合的行数.我可以单独执行每个计算:

# calculate mean
aggregate(. ~ id1 + id2, data = x, FUN = mean)

# count rows
aggregate(. ~ id1 + id2, data = x, FUN …
Run Code Online (Sandbox Code Playgroud)

aggregate r

85
推荐指数
5
解决办法
9万
查看次数

像kayak.com这样的网站如何汇总内容?

问候,我一直在想一个新项目的想法,并想知道是否有人知道像Kayak.com这样的服务如何能够如此快速和准确地汇总来自这么多来源的数据.更具体地说,您认为Kayak.com是否正在与API进行交互,还是在抓取/抓取航空公司和酒店网站以满足用户请求?我知道这种事情没有一个正确的答案,但我很想知道其他人认为这是一个很好的方法.如果有帮助,假装你明天要创建kayak.com ......你的数据来自哪里?

architecture api screen-scraping aggregate

81
推荐指数
3
解决办法
8万
查看次数

Pandas按groupby求和,但不包括某些列

在Pandas数据帧上进行groupby的最佳方法是什么,但从该组中排除某些列?例如,我有以下数据帧:

Code   Country      Item_Code   Item    Ele_Code    Unit    Y1961    Y1962   Y1963
2      Afghanistan  15          Wheat   5312        Ha      10       20      30
2      Afghanistan  25          Maize   5312        Ha      10       20      30
4      Angola       15          Wheat   7312        Ha      30       40      50
4      Angola       25          Maize   7312        Ha      30       40      50
Run Code Online (Sandbox Code Playgroud)

我想通过列Country和Item_Code进行分组,并且只计算落在Y1961,Y1962和Y1963列下的行的总和.生成的数据框应如下所示:

Code   Country      Item_Code   Item    Ele_Code    Unit    Y1961    Y1962   Y1963
2      Afghanistan  15          C3      5312        Ha      20       40       60
4      Angola       25          C4      7312        Ha      60       80      100
Run Code Online (Sandbox Code Playgroud)

现在我这样做:

df.groupby('Country').sum()
Run Code Online (Sandbox Code Playgroud)

但是,这也会将Item_Code列中的值相加.有什么方法可以指定要在sum()操作中包含哪些列以及要排除哪些列?

python group-by aggregate pandas

76
推荐指数
3
解决办法
13万
查看次数

SQLSERVER中的ListAGG

我正在尝试聚合SQLServer中的"STRING"字段.我想在Oracle中找到与LISTAGG相同的功能.

你知道如何做同样的功能或另一种方法吗?

例如,

Field A | Field B
1       |  A
1       |  B
2       |  A
Run Code Online (Sandbox Code Playgroud)

我想这个查询的结果将是

1 | AB
2 | A
Run Code Online (Sandbox Code Playgroud)

sql sql-server aggregate

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

提取数据框中每个组内的最大值

我有一个带有分组变量("Gene")和值变量("Value")的数据框:

Gene   Value
A      12
A      10
B      3
B      5
B      6
C      1
D      3
D      4
Run Code Online (Sandbox Code Playgroud)

对于我的分组变量的每个级别,我希望提取最大值.因此,结果应该是一个数据框,每个级别的分组变量有一行:

Gene   Value
A      12
B      6
C      1
D      4
Run Code Online (Sandbox Code Playgroud)

可以aggregate做到的伎俩?

aggregate r

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

data.frame Group By列

我有一个数据帧DF.

说DF是:

  A B
1 1 2
2 1 3
3 2 3
4 3 5
5 3 6 
Run Code Online (Sandbox Code Playgroud)

现在我想通过列A将行组合在一起并得到列B的总和.

例如:

  A B
1 1 5
2 2 3
3 3 11
Run Code Online (Sandbox Code Playgroud)

我目前正在使用sqldf函数的SQL查询.但由于某种原因,它非常缓慢.有没有更方便的方法呢?我也可以使用for循环手动完成,但它又慢了.我的SQL查询是"从A组中选择A,计数(B)".

通常,每当我不使用矢量化操作并使用for循环时,即使对于单个过程,性能也非常慢.

aggregate r

60
推荐指数
3
解决办法
16万
查看次数

按组提取对应于变量最小值的行

我希望(1)通过一个变量()分组数据State,(2)在每个组内找到另一个变量(Employees)的最小值行,以及(3)提取整行.

(1)和(2)是简单的单行,我觉得(3)也应该是,但我不能得到它.

这是一个示例数据集:

> data
  State Company Employees
1    AK       A        82
2    AK       B       104
3    AK       C        37
4    AK       D        24
5    RI       E        19
6    RI       F       118
7    RI       G        88
8    RI       H        42

data <- structure(list(State = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 
        2L), .Label = c("AK", "RI"), class = "factor"), Company = structure(1:8, .Label = c("A", 
        "B", "C", "D", "E", "F", "G", "H"), class = "factor"), Employees …
Run Code Online (Sandbox Code Playgroud)

aggregate r dplyr data.table

58
推荐指数
5
解决办法
6万
查看次数

聚合给定列上的数据框并显示另一列

我在R中有以下形式的数据帧:

> head(data)
  Group Score Info
1     1     1    a
2     1     2    b
3     1     3    c
4     2     4    d
5     2     3    e
6     2     1    f
Run Code Online (Sandbox Code Playgroud)

我想在Score使用该max函数的列之后聚合它

> aggregate(data$Score, list(data$Group), max)

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

但我还想显示与每个组InfoScore列的最大值相关联的列.我不知道该怎么做.我想要的输出是:

  Group.1         x        y
1       1         3        c
2       2         4        d
Run Code Online (Sandbox Code Playgroud)

任何提示?

aggregate r plyr greatest-n-per-group

54
推荐指数
6
解决办法
11万
查看次数

如何按组向R data.frame添加唯一值的计数

我希望通过对第二个变量进行分组来计算唯一值的数量,然后将计数添加到现有data.frame作为新列.例如,如果现有数据框如下所示:

  color  type
1 black chair
2 black chair
3 black  sofa
4 green  sofa
5 green  sofa
6   red  sofa
7   red plate
8  blue  sofa
9  blue plate
10 blue chair
Run Code Online (Sandbox Code Playgroud)

我想为每个添加数据中存在color的唯一计数types:

  color  type unique_types
1 black chair            2
2 black chair            2
3 black  sofa            2
4 green  sofa            1
5 green  sofa            1
6   red  sofa            2
7   red plate            2
8  blue  sofa            3
9  blue plate            3
10 blue chair …
Run Code Online (Sandbox Code Playgroud)

aggregate r unique count

53
推荐指数
3
解决办法
6万
查看次数

将min()与groupby一起使用时,保留其他列

我正在使用groupbypandas数据帧删除所有没有特定列的最小行.像这样的东西:

df1 = df.groupby("item", as_index=False)["diff"].min()
Run Code Online (Sandbox Code Playgroud)

但是,如果我有超过这两列,则其他列将被删除.我可以使用groupby保留这些列,还是我必须找到一种不同的方法来删除行?

我的数据如下:

    item    diff   otherstuff
   0   1       2            1
   1   1       1            2
   2   1       3            7
   3   2      -1            0
   4   2       1            3
   5   2       4            9
   6   2      -6            2
   7   3       0            0
   8   3       2            9
Run Code Online (Sandbox Code Playgroud)

并应该最终像:

    item   diff  otherstuff
   0   1      1           2
   1   2     -6           2
   2   3      0           0
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

    item   diff
   0   1      1           
   1   2     -6           
   2   3      0                 
Run Code Online (Sandbox Code Playgroud)

我一直在查看文档,找不到任何东西.我试过了:

df1 = df.groupby(["item", …
Run Code Online (Sandbox Code Playgroud)

python aggregate pandas pandas-groupby

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