标签: grouping

如何使用Python中的函数方法将具有常见元素的列表分组到字典中?

我正在尝试将列表聚合到字典中。第一列可以被视为 id,第二列可以被视为一些随机元素。我希望分配给同一 id 的所有元素都分组在该 id 下的列表中。Id=None,空列表需要过滤掉,并且不允许有重复的元素。

可能看到输入和输出会更有表现力
这是输入:

[
    [1, 1],
    [2, 1],
    [2, 2],
    [2, 3],
    [2, 3],
    [2, 4],
    [],
    [None, 5]
]
Run Code Online (Sandbox Code Playgroud)

这是预期的输出:

{
    1: [1],
    2: [1, 2, 3, 4]
}
Run Code Online (Sandbox Code Playgroud)

我陷入了这种功能性和命令性的混合:

filtered_groups = list(filter(lambda group: len(group) == 2 and group[0] is not None, groups))
grouper = {}
for group in filtered_groups:
    id = group[0]
    element = group[1]
    grouper_entry = grouper.get(id)
    if not grouper_entry:
        grouper_entry = grouper[id] = []
    if element not in grouper_entry: …
Run Code Online (Sandbox Code Playgroud)

python grouping dictionary functional-programming list

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

Sql分组

替代文字http://agricam.net/test.gif

我需要在市场营销人数改变之后在SQL中动态添加一行,其中标题为"Marketer Total",只应添加"Total"列.例如,在Marketer 22行的最后一行之后,应该有"Marketer Total",然后在Total列下面应该是1804.同样应该在Marketer 500的最后一行之后发生.

请参见http://agricam.net/test.gif上的图片

当前查询:

从SomeTable中选择Marketer,SubMarketer,Grade,Total,Convert(varchar,Date,101)[Date],其中Date> ='2/25/2009'和Date <'2/26/2009'和Marketer in('22' ,'500')分组由SubMarketer,Grade,Marketer,Date,总订单由Marketer提供

谢谢.

sql t-sql grouping sum

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

在Java中将多个字符串分组为通用字符串

我必须将多个字符串组合成一个来进行比较.这个分组应该完全像Java OO范例:一个"描述"子字符串的字符串.例:

String one = "hammer";
String two = "screwdriver";
String three = "pliers";
Run Code Online (Sandbox Code Playgroud)

现在让我们说你要"描述"它们:

String str = "tool"
Run Code Online (Sandbox Code Playgroud)

上面的所有字符串都是工具 现在,我的代码有一个,两个,三个字符串,并将它们更改为"工具".因此,例如,字符串1成为工具,字符串2和字符串3相同.如何"分类"他们?另一个扩展示例:

String one = "hammer"
String two = "screwdriver";
String three = "pliers";
String four = "horse";
String five = "cat";
String six = "dog";

public void stringConverter(String str)
{
    if ("string match to an animal")
        str = "animal";
    if ("string match to a tool")
        str = "tool";
}
Run Code Online (Sandbox Code Playgroud)

也许这是一个愚蠢的事情,但现在我没有任何想法!谢谢!

编辑:我的团队是有限的,我知道我只有猫,狗,马,锤等...编辑2:很难表达我!它应该是这样的:

Group Animal = {cat, dog, horse}
Group Tools = …
Run Code Online (Sandbox Code Playgroud)

java string grouping

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

MongoDB/Mongoose:无法使用最简单的MapReduce

大家好我想做的就是获取每个不同departmentType的计数:

fnMap = function() { 
  emit(this.departments.departmentType, {typeCount:1} ); 
} 

fnReduce = function(key, values) { 
  var result = {typeCount: 0}; 
  values.forEach(function(value) {
    result.typeCount += value.brandCount;
  });

  return result;             
};


var command = {
mapreduce : "clients", 
query     : {"departments.departmentType": {$exists: true}},
map       : fnMap.toString(), 
reduce    : fnReduce.toString(),    
    //sort: {"departments.departmentType":1}, 
    out: {inline: 1}   
};

mongoose.connection.db.executeDbCommand(command, function(err, dbres) {

    }); 
Run Code Online (Sandbox Code Playgroud)

执行命令时,dbres.documents [0] .results只包含1个具有departmentTypes总数的项目,而不是包含每个departmentType及其计数的几个项目.

有什么想法我做错了什么?

此外,当我取消注释SORT行时,我收到错误"db assertion failure:无法创建游标...",我相信字段名称是正确写入的.

grouping mapreduce mongoose mongodb

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

使用分组变量进行T检验

我有一个包含36个变量和74个观测值的数据框.我想通过1个分组变量(有两个级别)对35个变量进行两个样本配对测试.

例如:数据框包含"年龄""体重"和"组"变量.现在我想我可以用这段代码为每个变量做ttest:

t.test(age~group)

但是,有没有办法用一个代码测试所有35个变量,而不是一个一个?

statistics grouping r

0
推荐指数
2
解决办法
9320
查看次数

如何对数据进行分组,然后在ggplot2中绘制条形图

我有3列的数据框(df),例如

NUMERIC1:      NUMERIC2:      GROUP(CHARACTER):
100            1               A
200            2               B
300            3               C
400            4               A
Run Code Online (Sandbox Code Playgroud)

我想按GROUP(CHARACTER)对NUMERIC1进行分组,然后计算每组的均值.像这样的东西:

mean(NUMERIC1):  GROUP(CHARACTER):
250                  A
200                  B
300                  C
Run Code Online (Sandbox Code Playgroud)

最后,我想使用ggplot2绘制条形图,在x轴上具有GROUP(CHARACTER),在y轴上具有a = nd mean(NUMERIC).它应该看起来像:

图表

我用了

mean <- tapply(df$NUMERIC1, df$GROUP(CHARACTER), FUN=mean)
Run Code Online (Sandbox Code Playgroud)

但我不确定它是否可以,即使它是,我也不知道接下来应该做什么.

grouping r bar-chart ggplot2

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

R中对固定数字范围进行分组和平均

我有分数的范围.我想计算行之间固定长度范围的平均值.(找到固定范围和平均值)
让我们说:df1:

start   end    score
100     105     2.2
105     110     2.4
110     115     2.6
130     135     1.4
135     140     1.2
200     205     5.0
205     210     5.8
210     215     5.4
Run Code Online (Sandbox Code Playgroud)

我想做这样的表: df2

start   end   avg
100     115   2.4
130     140   1.3
200     215   5.4
Run Code Online (Sandbox Code Playgroud)

固定范围是指之间的行差;例如:在第3行的df1所述differenece是5 (100-105-110),然后在排4它跳进130.因此,检测到的连续范围来自100 to 115)

如果你告诉我怎么能在R中做到这一点,我会很感激

grouping r range

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

如何使用groupby连接python pandas中的字符串?

我目前在顶部有数据框.有没有办法使用groupby函数来获取另一个数据帧来对数据进行分组,并使用python pandas将这些单词连接成下面的格式?

谢谢

[输入图像描述[1]

python grouping pandas

0
推荐指数
2
解决办法
7193
查看次数

根据特定数组的长度对变量进行分组

我在其中包含多个数据集变量一长串time不同的采样率,如渠道time_1,time_2,TIME,Time,等也有多种其他变量依赖于这两种时间.

我想列出包含'time'的所有可能的通道(在Workspace中不区分大小写的部分字符串搜索),并time根据变量的大小搜索和匹配哪个变量属于此列表的每个项目,然后将它们分组具有变量值的结构,供以后分析.

例如:

  Name                     Size              Bytes  Class     

  ENGSPD_1            181289x1             1450312  double              
  Eng_Spd              12500x1              100000  double              
  Speed                41273x1              330184  double              
  TIME                 41273x1              330184  double              
  Time                 12500x1              100000  double              
  engine_speed_2        1406x1               11248  double              
  time_1              181289x1             1450312  double              
  time_2                1406x1               11248  double 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我有4个不同名称和大小的时间通道和4个属于这些时间通道的速度通道.

whos 函数区分大小写,它只返回变量的名称,而不是变量的值.

size matlab grouping struct

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

如何使用Java Stream API将列表转换为Map?

我需要转换ListPOJO,以Map<Integer, List<MyClass>>其中的关键是要从价值MyClass也就是下面的代码如下所示:

public class MyClass {
    public int id;         // this field value must be key of map.
    public String name;
}

public static void main(String... args) {
    List<MyClass> lst = new ArrayList();
    lst.add(new MyClass(1, "John"));
    lst.add(new MyClass(1, "Peter"));
    lst.add(new MyClass(2, "Sarah"));

    Map<Integer, List<MyClass>> res = lst.collect(..);
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?你能帮助我吗?

java grouping java-stream collectors

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