标签: grouping

分组Python元组列表

我有一个(标签,计数)元组列表,如下所示:

[('grape', 100), ('grape', 3), ('apple', 15), ('apple', 10), ('apple', 4), ('banana', 3)]
Run Code Online (Sandbox Code Playgroud)

从那里我想要使用相同的标签(相同的标签始终相邻)对所有值求和,并以相同的标签顺序返回一个列表:

[('grape', 103), ('apple', 29), ('banana', 3)]
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过以下方式解决它:

def group(l):
    result = []
    if l:
        this_label = l[0][0]
        this_count = 0
        for label, count in l:
            if label != this_label:
                result.append((this_label, this_count))
                this_label = label
                this_count = 0
            this_count += count
        result.append((this_label, this_count))
    return result
Run Code Online (Sandbox Code Playgroud)

但是,有更多Pythonic /优雅/有效的方法吗?

python grouping

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

Oracle:如何计算null和非null行

我有一个表可能有两列null(以及其他一些列).我想计算有多少行,其中列a,b,两列都没有设置为null.

在一个查询中,Oracle可以实现这一点吗?或者我是否必须为每个创建一个查询?例如,不能使用group by或其他一些我可能不知道的东西?

oracle null select grouping

21
推荐指数
3
解决办法
5万
查看次数

如何将我的日期变量分组到R中的月/年?

我有一个"日期"向量,其中包含以mm/dd/yyyy格式表示的日期:

 head(Entered_Date,5)
[1] 1/5/1998 1/5/1998 1/5/1998 1/5/1998 1/5/1998
Run Code Online (Sandbox Code Playgroud)

我试图根据日期绘制频率变量,但我想按月或年分组日期.就像现在一样,每天有一个频率,但我想按月或年绘制频率.因此,对于1/5/1998,1为1/7/1998和3为1/8/1998,频率为1,我想将其显示为1为1/1998.这是一个相对较大的数据集,从1998年到现在的日期,我想找到一些自动化的方法来实现这一目标.

> dput(head(Entered_Date))
structure(c(260L, 260L, 260L, 260L, 260L, 260L), .Label = c("1/1/1998", 
"1/1/1999", "1/1/2001", "1/1/2002", "1/10/2000", "1/10/2001", 
"1/10/2002", "1/10/2003", "1/10/2005", "1/10/2006", "1/10/2007", 
"1/10/2008", "1/10/2011", "1/10/2012", "1/10/2013", "1/11/1999", 
"1/11/2000", "1/11/2001", "1/11/2002", "1/11/2005", "1/11/2006", 
"1/11/2008", "1/11/2010", "1/11/2011", "1/11/2012", "1/11/2013", 
"1/12/1998", "1/12/1999", "1/12/2001", "1/12/2004", "1/12/2005", ...
Run Code Online (Sandbox Code Playgroud)

plot grouping r

21
推荐指数
3
解决办法
4万
查看次数

如何按周分组日期?

我正在为我正在创建的定制应用程序编写Excel导出器,我对C#中的LINQ分组有疑问.

基本上,这个新的Excel导出器类有两个日期.然后,该班级检索此日期范围之间的所有托运.

作为此导出器的一部分,我需要能够将日期分组为几周,并获取该周的值.因此,例如,如果我给了07/12/2011和22/12/2011(dd/MM/yyyy格式),我需要将它们之间的所有货物分组为几周(每周从星期日开始).使用上述日期的理想结果是

Week 1: (consignments between 04/12/2011 and 10/12/2011) 
Week 2: (consignments between 11/12/2011 and 17/12/2011) 
Week 3: (consignments between 18/11/2011 and 24/12/2011)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# linq grouping

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

如何使用枚举与分组和子组层次结构/嵌套

我有一个enumExample"如下"的"班级" :

enum Example {
//enums belonging to group A:
   enumA1,
   enumA2,
   enumA3,
//enums belonging to group B:
   enumB1,
   enumB2,
   enumB3,
//enums belonging to group C:
   enumC1,
   enumC2,
   enumC3;
}
Run Code Online (Sandbox Code Playgroud)

对我的项目来说,重要的是他们所使用的所有枚举都属于Example(因为这是类的构造函数中的参数).

如何使用enum层次结构/嵌套来实现以下目标:

  • 测试是否属于enumA,B或C组的方法.例如,类似于Example.enumA1.isGroupBelonging(Group.A)isGroupBelonging(Example.enumA1,Group.A)将是返回true的公共方法.

  • 能够对组的子组做同样的事情A,B并且C.例如,组A可能有子组a,bc.然后我想要一个方法,做一些像Example.enumA1.isSubGroupBelonging(SubGroup.a)这样的东西public boolean.

  • 一种方法来完成所有这些,而不需要一些精心设计的enum名称堵塞我的代码.例如,能够Example.enumA1在我的其他类中引用而不需要使用类似Example.enumA1(Group.A,SubGroup.a)或类似的东西来引用它将是很好的Example.enumA1.Group.A.SubGroup.a

java enums grouping nested hierarchy

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

将元组列表拆分为同一元组字段的子列表

我有这种格式的巨大元组列表.每个元组的第二个字段是类别字段.

    [(1, 'A', 'foo'),
    (2, 'A', 'bar'),
    (100, 'A', 'foo-bar'),

    ('xx', 'B', 'foobar'),
    ('yy', 'B', 'foo'),

    (1000, 'C', 'py'),
    (200, 'C', 'foo'),
    ..]
Run Code Online (Sandbox Code Playgroud)

将其分解为同一类别(A,B,C等)的子列表的最有效方法是什么?

python sorting grouping list

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

按多列分组并汇总其他多列

我有一个包含大约200列的数据框,其中我想要将表格分组前10个左右,这些是因子并将其余列相加.

我有我要分组的所有列名列表以及我想要聚合的所有列的列表.

我正在寻找的输出格式需要是相同数量的cols的相同数据帧,只是组合在一起.

有没有使用包解决方案data.table,plyr或任何其他?

grouping aggregate r plyr data.table

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

将geom_line与多个分组一起使用

我有一张表如下:

> testsizes
    size value replicate lane
361   16  6898         1   L1
362   17 10707         1   L1
363   18  1786         1   L1
364   19  1721         1   L1
365   20  2454         1   L1
421   16  8486         2   L1
422   17 26691         2   L1
423   18  3241         2   L1
424   19  5068         2   L1
425   20  7579         2   L1
481   16  4152         3   L1
482   17  4452         3   L1
483   18   899         3   L1
484   19  1973         3   L1
485   20  2595 …
Run Code Online (Sandbox Code Playgroud)

grouping r ggplot2

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

LINQ查询 - 数据聚合(Group Adjacent)

我们来看一个叫做的课Cls:

public class Cls
{
    public int SequenceNumber { get; set; }
    public int Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,让我们使用以下元素填充一些集合:

Sequence
Number      Value
========    =====
1           9
2           9
3           15
4           15
5           15
6           30
7           9

我需要做的是枚举序列号并检查下一个元素是否具有相同的值.如果是,则汇总值,因此,所需的输出如下:

Sequence    Sequence
Number      Number
From        To          Value
========    ========    =====
1           2           9
3           5           15
6           6           30
7           7           9

如何使用LINQ查询执行此操作?

c# linq grouping

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

从SQL Server表为直方图创建范围箱

我在SQL Server中有以下表:

-----------------------------
ID       Age          Gender
1          30           F
2          35           M
3          32           M
4          18           F
5          21           F
Run Code Online (Sandbox Code Playgroud)

我需要做的是执行一个查询,该查询将给定范围内的记录分组并计算出现的次数.结果需要稍后在直方图(条形图)中显示.我尝试了类似以下的查询:

SELECT 
count(CASE WHEN Age>= 10 AND Age < 20 THEN 1 END) AS '10 - 20',
count(CASE WHEN Age>= 21 AND Age < 30 THEN 1 END) AS '21 - 30',
count(CASE WHEN Age>= 31 AND Age < 35 THEN 1 END) AS '31 - 35',
count(CASE WHEN Age>= 36 AND Age < 40 THEN 1 END) AS …
Run Code Online (Sandbox Code Playgroud)

sql grouping histogram

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

标签 统计

grouping ×10

r ×3

c# ×2

linq ×2

python ×2

aggregate ×1

data.table ×1

enums ×1

ggplot2 ×1

hierarchy ×1

histogram ×1

java ×1

list ×1

nested ×1

null ×1

oracle ×1

plot ×1

plyr ×1

select ×1

sorting ×1

sql ×1