标签: aggregate

如何使用awk聚合数据行

我有一个问题,我有一组行数据,其中一些行属于一个组。

例如

Apple 0.4 0.5 0.6
Orange 0.2 0.3 0.2
Apple 0.4 0.3 0.4
Orange 0.4 0.5 0.8
Run Code Online (Sandbox Code Playgroud)

问题是如何使用 awk 自动聚合相应的列。过去,我会轻松地为每个文件手动处理以下 awk。

awk '{col2[$1]+=$2; col3[$1]+=$3; col4[$1]+=$4} END {for(i in col2){printf("%s\t%.2f\%.2f\t%.2f\n",i,col2[i]/2,col3[i]/2,col4[i]/2)}}' myfile
Run Code Online (Sandbox Code Playgroud)

但这一次我正在处理多个具有不同 NF(字段数)的文件,并且我尝试发出一个命令来自动计算该组的平均值。最终,我们将拥有

Apple 0.4 0.5 0.5
Orange 0.3 0.4 0.5
Run Code Online (Sandbox Code Playgroud)

请指教。谢谢。

awk aggregate

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

获取 R 中均值子组的均值

我是 R 的新手,我不知道如何让 R 计算子组的平均值,而子组本身就是子组的平均值。我会解释得更清楚。

我有一个像这样的数据框:

GROUP WORD WLN
1     1    4
1     1    3
1     1    3
1     2    2
1     2    2
1     2    3
2     3    1
2     3    1
2     3    2
2     4    1
2     4    1
2     4    1
...   ...  ...
Run Code Online (Sandbox Code Playgroud)

但真实的一共有5组25个单词(每组5个单词;每个单词都被5个受试者分配了1到4的数字......)。

我需要获取每个单词的 WLN 平均值,我可以使用循环轻松完成此操作并将结果保存在向量中;但然后我需要一个向量,其中根据单词所属的组来表示这些平均值...所以我需要第1组的单词的平均值,然后是第2组的单词的平均值...(我不知道不知道我是否说清楚了)。

如果不一组一组地做,我怎样才能得到这个呢?

aggregate r mean plyr

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

使用第一对作为种子进行聚合

有什么方法可以聚合(折叠)这个序列

{ a, b, c, d }
Run Code Online (Sandbox Code Playgroud)

有一个函数f(x,y)所以我最终得到f(f(f(a,b),c),d)

result = f(a,b)
result = f(result, c)
result = f(result, d)
Run Code Online (Sandbox Code Playgroud)

目前我这样做(假设列表长度>= 2):

var seed = f(list[0], list[1]);
var result = list.Skip(2).Aggregate(seed, f);
Run Code Online (Sandbox Code Playgroud)

我可以用一个表达式表达同样的事情吗?

编辑:假设 的结果的类型f元素类型不同,并且 没有好的“零元素” ,即一个好的种子值使得。零元素运算的示例包括加法(零元素= )、乘法(零元素= )、列表串联(零元素= )。ff(0, a) = a01[]

没有好的零元素的操作的一个例子是平均值,即

result = avg(a,b)
result = avg(result, c)
result = avg(result, d)
Run Code Online (Sandbox Code Playgroud)

此折叠的唯一有效种子是avg(a,a)avg(a,b)。所以对于函数avg和输入序列{a, b, c, d}我想要result = avg(avg(avg(a,b),c),d)

c# linq aggregate

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

在 DataFrame 中嵌套 groupby 并聚合多列

我正在尝试按如下方式进行嵌套分组:

>>> df1 = pd.DataFrame({'Date': {0: '2016-10-11', 1: '2016-10-11', 2: '2016-10-11', 3: '2016-10-11', 4: '2016-10-11',5: '2016-10-12'}, 'Stock': {0: 'ABC', 1: 'ABC', 2: 'ABC', 3: 'ABC', 4: 'ABC', 5: 'XYZ'}, 'Quantity': {0: 60,1: 50, 2: 40, 3: 30, 4: 20, 5: 10}, 'UiD':{0:1,1:1,2:1,3:2,4:2,5:3}, 'StartTime': {0: '08:00:00.241', 1: '08:00:00.243', 2: '12:34:23.563', 3: '08:14.05.908', 4: '18:54:50.100', 5: '10:08:36.657'}, 'Sign':{0:1,1:1,2:0,3:-1,4:0,5:-1}, 'leg1':{0:2,1:2,2:4,3:5,4:7,5:8}})
>>> df1
         Date  Quantity  Sign     StartTime Stock  UiD  leg1
0  2016-10-11        60     1  08:00:00.241   ABC    1     2
1  2016-10-11        50     1  08:00:00.243   ABC …
Run Code Online (Sandbox Code Playgroud)

nested group-by aggregate dataframe pandas

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

每年按月计算因子水平

我有两列数据:日期和因子变量。我的数据片段:

           Date Category
1    2009-06-22    BREAD
2    2009-06-23    BREAD
3    2009-06-23    BREAD
4    2009-06-23      JAM
5    2009-06-23     MILK
6    2009-06-24    BREAD
9    2009-06-24     MILK
10   2009-06-25      JAM
Run Code Online (Sandbox Code Playgroud)

问题:我需要计算Category每年每个月出现的每种类型的数量。

我尝试过这样的方法,使用aggregate,但我不知道如何在那里拟合因子变量。

数据样本:这是一个可行的数据样本(更多月份和年份):http: //rextester.com/DYMXN47464 当然,我的最终(真实)数据是从 2009 年到 2018 年,每年的每个月,但那些观察太多,我无法分享全部数据。

aggregate r date dataframe

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

如何通过包含 javascript 的 mongo_go_driver 运行聚合查询?

我正在使用 mongo-go-driver ( https://godoc.org/github.com/mongodb/mongo-go-driver/mongo ),我正在尝试做相当于

db.getCollection('mycollection').aggregate([
    { $lookup: {
        from: "anothercollection",
        localField: "_id",
        foreignField: "foreignID",
        as: "matched_docs"
    }},
    { $match: { "matched_docs": { $eq: [] } } },
    { $project: { "matched_docs": 0 } },
    { $match: {"dateTimeGMT":{$lt: (new Date(Date.now()-1000*60*60*24)).toISOString()}} }
])
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用这种方法来放置 Javascript 命令。

pipeline := bson.NewArray(
    bson.VC.DocumentFromElements(
        bson.EC.SubDocumentFromElements( 
        //yada, yada, yada...
cursor, err := collection.Aggregate(ctx, pipeline)
Run Code Online (Sandbox Code Playgroud)

(总的来说,无论如何,我不喜欢这种方法。我希望能够在 Robo 3T 中设计查询并将它们复制到我的代码中,就像我在 MySQL Workbench 和 PHP 中所做的那样)

此方法在管道中产生一个空的 *bson.Array

pipelineJSON := `[
    { $lookup: {
        from: "anothercollection",
        localField: "_id",
        foreignField: …
Run Code Online (Sandbox Code Playgroud)

javascript aggregate go mongodb

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

数组中的 Mongodb 聚合匹配值

我正在与 mongo 的餐厅数据库合作

   {
    "_id" : ObjectId("5c66fcf59e184ea712adfba6"),
    "address" : {
        "building" : "97-22",
        "coord" : [ 
            -73.8601152, 
            40.7311739
        ],
        "street" : "63 Road",
        "zipcode" : "11374"
    },
    "borough" : "Queens",
    "cuisine" : "Jewish/Kosher",
    "grades" : [ 
        {
            "date" : ISODate("2014-11-24T00:00:00.000Z"),
            "grade" : "Z",
            "score" : 20
        }, 
        {
            "date" : ISODate("2013-01-17T00:00:00.000Z"),
            "grade" : "A",
            "score" : 13
        }, 
        {
            "date" : ISODate("2012-08-02T00:00:00.000Z"),
            "grade" : "A",
            "score" : 13
        }, 
        {
            "date" : ISODate("2011-12-15T00:00:00.000Z"),
            "grade" : "B",
            "score" : 25
        } …
Run Code Online (Sandbox Code Playgroud)

aggregate match mongodb

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

对 Mongodb 中最近的位置进行分组

位置点另存为

{
  "location_point" : {
  "coordinates" : [ 
      -95.712891, 
      37.09024
  ],
  "type" : "Point"
  },
  "location_point" : {
  "coordinates" : [ 
      -95.712893, 
      37.09024
  ],
  "type" : "Point"
  },
  "location_point" : {
  "coordinates" : [ 
      -85.712883, 
      37.09024
  ],
  "type" : "Point"
  },
  .......
  .......
}
Run Code Online (Sandbox Code Playgroud)

有几个文件。我需要到group最近的地点。分组后第一个第二个位置将在一个文档中,第三个在第二个文档中。请注意,第一和第二的位置点不相等。两个都是最近的地方。

有什么办法吗?提前致谢。

aggregate geolocation mongodb aggregation-framework geonear

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

如何使用“命名聚合”

我想在 Pandas DataFrameGroupBy 的同一列上应用两个不同的聚合,并命名新列。

我已经尝试使用文档中显示的内容。 https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html#named-aggregation

In [82]: animals.groupby("kind").agg(
   ....:     min_height=('height', 'min'),
   ....:     max_height=('height', 'max'),
   ....:     average_weight=('weight', np.mean),
   ....: )
   ....: 
Out[82]: 
      min_height  max_height  average_weight
kind                                        
cat          9.1         9.5            8.90
dog          6.0        34.0          102.75
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的事情是:

df = pd.DataFrame({"year": [2001, 2001, 2001, 2005, 2005],
                   "value": [1, 2, 5, 3, 1]})

df = df.groupby("year").agg(sum=('value', 'sum'),
                            count=('value', 'size'))
Run Code Online (Sandbox Code Playgroud)

但是,这给出了以下内容:

TypeError: aggregate() missing 1 required positional argument: 'arg'
Run Code Online (Sandbox Code Playgroud)

python aggregate pandas

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

在纯 Python 中聚合两个数值数组的最简单方法是什么?

a = [1,2,3]
b = [4,5,6]
Run Code Online (Sandbox Code Playgroud)

我希望输出是 [5,7,9]

可以在纯 Python 3 中实现此目的的最简单语法是什么?

python aggregate python-3.x

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