我有一个Ienumerable<string>集合,我想用分隔符连接成一个字符串;
例如 {"One","Two","Three"} -> "One;Two;Three;"
是否可以使用以下功能?
List<string> list = new List<string>(){"One","Two","Three"};
list.Aggregate<String>((x,y) => x + String.Format("{0};",y));
Run Code Online (Sandbox Code Playgroud)
我也试过这个代码:
list.Aggregate<String>((x,y) => String.Format("{0};{1}",x,y));
Run Code Online (Sandbox Code Playgroud)
两个样品都不起作用。
编辑:我发现使用 Linq-2-sql 或 Linq-2-sql 中的聚合函数无法执行我想要的操作。
EDIT2:我使用的解决方法是检查原始 linq 查询返回的项目......并将它们复制到一个新列表,并按照下面的 linq 对象而不是 linq-2-sql 对象的答案中的建议进行连接.
我有一个看起来像的列表
[(1,2,5),(2,10,13),(5,24,56),(1,8,10),(2,3,11)]
Run Code Online (Sandbox Code Playgroud)
如何通过按元组的第一个元素分组并min在第二个元素中查找元素和max第三个元素中的元素来生成字典:
{1:(2,10),2:(3,13),5:{24,56}]
Run Code Online (Sandbox Code Playgroud) 我需要一些有关聚合函数的帮助。这是我的数据:(它显示了三列,但我的理解是有 2 列,分别名为 V1 和 V3。显示从 330 开始的数字的第一列是 row.names。)
我想使用 V1 作为键在 V3 上执行一个简单的聚合函数,例如平均值。我感觉我的数据类型不正确,但我不知道如何转换!
> testing
V1 V3
330 chr1_10440000_11000000 1.59987556934357
335 chr1_10440000_11000000 89.185531616211
338 chr1_10440000_11000000 1.25018584728241
340 chr1_10440000_11000000 5.91385841369629
342 chr1_10440000_11000000 1.68633282184601
345 chr1_11000000_11240000 0.118176721036434
349 chr1_11000000_11240000 9.131010055542
350 chr1_11000000_11240000 0.0575727485120296
352 chr1_11000000_11240000 11.7410087585449
353 chr1_11000000_11240000 10.5057544708252
356 chr1_11000000_11240000 2.35379362106323
360 chr1_11240000_12040000 0.08041662722826
363 chr1_11240000_12040000 1.62903010845184
366 chr1_11240000_12040000 0.039043802767992
368 chr1_11240000_12040000 1.90981948375702
369 chr1_11240000_12040000 7.19360542297363
370 chr1_11240000_12040000 5.95961284637451
371 chr1_11240000_12040000 4.40743684768677
372 chr1_11240000_12040000 0.600234627723694
373 chr1_11240000_12040000 20.9832191467285
>
Run Code Online (Sandbox Code Playgroud)
这是我尝试使用的代码以及相应的错误/警告消息: …
我想通过两个或多个字段进行ES聚合,但不是一一聚合,而是将这些字段concat()为一个新字段,并按这些新字段进行聚合,那么如何做到这一点呢?谢谢
我尝试找到一种使用 Postgres 连接 JSONB 值的方法。
例如我有两行:
INSERT INTO "testConcat" ("id", "json_data", "groupID")
VALUES (1, {"name": "JSON_name1", "value" : "Toto"}, 5);
INSERT INTO "testConcat" ("id", "json_data", "groupID")
VALUES (2, {"name": "JSON_name2"}, 5);
Run Code Online (Sandbox Code Playgroud)
我想做类似的事情:
SELECT GROUP_CONCAT(json_data)
FROM testConcat
GROUP BY groupID
Run Code Online (Sandbox Code Playgroud)
并且作为获得类似结果的结果:
[{"name": "JSON_name1", "value": "Toto"}, {"name": "JSON_name2"}]
Run Code Online (Sandbox Code Playgroud)
我尝试创建聚合函数,但是当 JSON 中有相同的键时,它们会被合并并且只保留最后一个值:
DROP AGGREGATE IF EXISTS jsonb_merge(jsonb);
CREATE AGGREGATE jsonb_merge(jsonb) (
SFUNC = jsonb_concat(jsonb, jsonb),
STYPE = jsonb,
INITCOND = '{}'
);
Run Code Online (Sandbox Code Playgroud)
当我在这里使用此功能时:
SELECT jsonb_merge(json_data)
FROM testConcat
GROUP BY groupID
Run Code Online (Sandbox Code Playgroud)
结果是:
{"name": "JSON_name2", …Run Code Online (Sandbox Code Playgroud) 我有一个数据框如下
dt <- data.frame(genotype = c("X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X1", "X2", "X3", "X4",
"X5", "X6", "X7", "X8", "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8"),
variable = c("A", "A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "B",
"B", "B", "B", "B", "C", "C", "C", "C", "C", "C", "C", "C"),
value = c(1L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 3L, 3L, 4L, 5L, 5L,
1L, 2L, 3L, 4L, 5L, 6L, 7L, …Run Code Online (Sandbox Code Playgroud) 如何在同一查询中使用where和group by 之间的位置
SELECT `sales-store-id`,
(SUM (`gen-acute-sales-after-returns`) + SUM(`gen- chronic-sales-after-returns`))
AS `totalGenericSales` ,
(SUM (`eth-acute-sales- after-returns`) + SUM(`eth-chronic-sales-after-returns`) + SUM(`others-sales-
after-returns`))
AS `totalEthicalSales`
FROM `sales` GROUP BY `sales-store-id`
WHERE `date-s` BETWEEN '2018-09-01' AND '2018-10-01'
Run Code Online (Sandbox Code Playgroud)
这是给出SQL错误,所以我尝试了AND而不是WHERE 但是这也没有正确地分组结果它只给出2个具有相同id的结果
SELECT `sales-store-id`,
(SUM (`gen-acute-sales-after-returns`) + SUM(`gen- chronic-sales-after-returns`))
AS `totalGenericSales` ,
(SUM (`eth-acute-sales- after-returns`) + SUM(`eth-chronic-sales-after-returns`) + SUM(`others-sales-
after-returns`))
AS `totalEthicalSales`
FROM `sales` GROUP BY `sales-store-id`
AND `date-s` BETWEEN '2018-09-01' AND '2018-10-01'
Run Code Online (Sandbox Code Playgroud)
我在这里失踪了什么?
我想对前 3 行的数量求和,然后对后 3 行的数量求和,依此类推。基本上,每 3 行求和。
下面是一个可重现的代码:
id <- 1:15
numbers <- 6:20
df <- data.frame(id, numbers)
Run Code Online (Sandbox Code Playgroud)
请帮忙,谢谢!在我的真实数据中,我需要每 550 行求和。
我目前在操作/聚合我的数据框时遇到问题。我当前的数据框如下:
| 农场 | 年 | 奶牛 | 鸭子 | 鸡 | 羊 | 马 |
|---|---|---|---|---|---|---|
| 农场 1 | 2020年 | 22 | 12 | 100 | 30 | 25 |
| 农场 1 | 2020年 | 0 | 12 | 120 | 20 | 20 |
| 农场 1 | 2019年 | 16 | 6 | 80 | 10 | 16 |
| 农场 1 | 2019年 | 12 | 0 | 50 | 0 | 11 |
| 农场 1 | 2018年 | 8 | 0 | 0 | 16 | 0 |
| 农场 1 | 2018年 | 0 | 0 | 10 | 13 | 12 |
| 农场2 | 2020年 | 31 | 28 | 27 | 10 | 14 |
| 农场2 | 2020年 | 0 | 13 | 31 | 20 | 0 |
| 农场2 | 2019年 | 3 | 31 | 0 | 20 | 43 |
| 农场2 | 2019年 | 20 … |
我正在尝试默认初始化一个配置结构,该结构由一些字段组成,其中包括另一个从属配置结构 - 使用宏:
#include <cstdio>
#define MYCLASS_DEFAULT_CONFIG mylib::options { \
.a_ = 2, \
.b_ = 3, \
.subopts_ = MYCLASS_DEFAULT_SUBOPT_CONFIG() \
}
#define MYCLASS_DEFAULT_SUBOPT_CONFIG mylib::sub_options { \
.c_ = 'A'; \
.d_ = 'H'; \
}
namespace mylib
{
struct sub_options
{
char c_;
char d_;
};
struct options
{
int a_;
int b_;
sub_options subopts_;
};
class myclass
{
myclass(options opts)
: opts_ { opts }
{
}
options opts_;
};
}
int main()
{
mylib::myclass some_class(MYCLASS_DEFAULT_CONFIG()); …Run Code Online (Sandbox Code Playgroud) aggregate ×10
dataframe ×4
r ×4
group-by ×2
c++ ×1
collections ×1
group-concat ×1
jsonb ×1
linq-to-sql ×1
mysql ×1
postgresql ×1
python ×1
reshape2 ×1
sql ×1
struct ×1