标签: grouping

按IEnumerable <string>分组根本不起作用

我不太确定,为什么分组IEnumerable<string>不起作用.我当然提供自定义IEqualityComparer.

public class StringCollectionEqualityComparer : EqualityComparer<IEnumerable<string>>
{
    public override bool Equals(IEnumerable<string> x, IEnumerable<string> y)
    {
        if (Object.Equals(x, y) == true)
            return true;
        if (x == null) return y == null;
        if (y == null) return x == null;

        return x.SequenceEqual(y, StringComparer.OrdinalIgnoreCase);
    }

    public override int GetHashCode(IEnumerable<string> obj)
    {
        return obj.OrderBy(value => value, StringComparer.OrdinalIgnoreCase).Aggregate(0, (hashCode, value) => value == null ? hashCode :  hashCode ^ value.GetHashCode() + 33);
    }
}

class A
{
    public IEnumerable<string> StringCollection { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# linq grouping iequalitycomparer

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

在条件下将列表分组到嵌套列表中 - Python

我有一个列表,A = [1.10,1.11,1.12,1.21,1.22,1.48] 我想将列表分组A到一个B带有输出的嵌套列表:

B = [(1.10, 1.11, 1.12),
     (1.11, 1.12, 1.21),
     (1.12, 1.21, 1.22),
     (1.21, 1.22, 1.48)]
Run Code Online (Sandbox Code Playgroud)

我怎么能从A生产B?我希望这个例子足以继续下去.

python grouping list

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

推荐的方式将IGrouping <TKey,TValue>转换为IDictionary <TKey,IEnumerable <TValue >>

这必须是重复的,但我的搜索并没有产生我想要的结果.

看起来这应该是相当简单的,但似乎没有内置的LINQ机制来实现这一点.一些帮助将不胜感激.

......我也可能做错了.我有一组具有属性的可枚举对象Foo,我想创建一个字典,其Foo属性是字典的键,其中值是具有Foo相同值的对象的枚举.

c# linq ienumerable grouping

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

使用R中的ffdfdply函数进行聚合

我尝试使用'ffbase'包使用ffdfdplyR中的函数对大型数据集进行聚合.
假设我有三个变量叫做Date,Item和sales.在这里,我想使用sum函数聚合Date和Item上的销售额.你能指导我在R中使用一些正确的语法吗?
我试过这样:

grp_qty <- ffdfdply(x=data[c("sales","Date","Item")], split=as.character(data$sales),FUN = function(data)  

summaryBy(Date+Item~sales, data=data, FUN=sum)).
Run Code Online (Sandbox Code Playgroud)

我很感激您的解决方案.

grouping r aggregation bigdata ffbase

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

在列中显示分组的行

如何根据分组条件将多个行分组到一组列中?

例如,

ID       Type            Total     
==============================
36197   Deduction         -9
36200   Deduction         -1
36337   Deduction          1
36363   Deduction          0
36364   Deduction          0
36200   Safety            -1
36342   Safety             0
36350   Safety            10
36363   Safety             0
36364   Safety             1   
Run Code Online (Sandbox Code Playgroud)

ID      Deduction       Safety
==========================================
36197    -9              0
36200    -1             -1
36337     1              0
36363     0              0
36364     0              1
36342     0              0
36350     0              10
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server grouping

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

一组高度相关的变量

我有一个数据框,我想找出哪一组变量共享最高的相关性。例如:

mydata <- structure(list(V1 = c(1L, 2L, 5L, 4L, 366L, 65L, 43L, 456L, 876L, 78L, 687L, 378L, 378L, 34L, 53L, 43L), 
                         V2 = c(2L, 2L, 5L, 4L, 366L, 65L, 43L, 456L, 876L, 78L, 687L, 378L, 378L, 34L, 53L, 41L), 
                         V3 = c(10L, 20L, 10L, 20L, 10L, 20L, 1L, 0L, 1L, 2010L,20L, 10L, 10L, 10L, 10L, 10L), 
                         V4 = c(2L, 10L, 31L, 2L, 2L, 5L, 2L, 5L, 1L, 52L, 1L, 2L, 52L, 6L, 2L, 1L), 
                         V5 = c(4L, 10L, 31L, 2L, …
Run Code Online (Sandbox Code Playgroud)

grouping r correlation

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

如何在Java中使用Enum

我想知道如何在java中使用枚举的正确方法.我已经实现了以下代码,它给出了一个错误.

public class GlobalVariables {

public enum Algorithm{louvain, kmeans};

public enum Evolution{survive,merge,split,dissolve};

/**
 * GED alpha threshold
 */
public static float GED_INCLUSION_ALPHA = 0.5f;

/**
 * GED beta threshold
 */
public static float GED_INCLUSION_BETA = 0.7f;}
Run Code Online (Sandbox Code Playgroud)

你知道我可能做错了什么吗?

错误:此行有多个标记

  • louvain无法解决一个类型
  • 'enum'不应该用作标识符,因为它是源级别1.5的保留关键字
  • 语法错误,插入";" 完成BlockStatements
  • 语法错误,插入";" 完成ClassBodyDeclarations
  • 枚举无法解析为某种类型
  • 枚举无法解析为某种类型
  • 'enum'不应该用作标识符,因为它是源级别1.5的保留关键字
  • 令牌","上的语法错误,删除此令牌

java enums grouping

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

返回最低分

这是我的代码,它使得来自多个成员的小组,然后对每个小组进行评分,然后将它们相加以得到这种情况下4组的总分.

import random

def run(members, n_groups):
    participants = list(range(1,members+1))*n_groups
    random.shuffle(participants)

    my_groups = list(zip(*[iter(participants)]*members))
    print(my_groups)

    def get_rating(group):
        return (len(set(group)))

    score = ((sum(get_rating(g) for g in my_groups)))
    print(score)
    return score

members = 4
n_groups = 4

print(min(run(members, n_groups) for _ in range(10)))
Run Code Online (Sandbox Code Playgroud)

输出:

[(3, 3, 4, 1), (4, 2, 3, 1), (2, 3, 2, 4), (1, 1, 4, 2)]
13
[(3, 1, 1, 4), (2, 3, 2, 4), (1, 4, 1, 2), (3, 2, 4, 3)]
12
[(2, 4, 4, 1), (3, …
Run Code Online (Sandbox Code Playgroud)

python grouping min

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

groupby周围的列表导致空组

我正在四处玩groupby,以便对itertools有一个更好的感觉,因此我按照数字对元组列表进行了分组,并尝试获取结果组的列表.groupby然而,当我将结果转换为列表时,我得到一个奇怪的结果:除最后一组之外的所有组都是空的.这是为什么?我假设将迭代器转换为列表效率较低但从不改变行为.我猜这些列表是空的,因为遍历了内部迭代器但是何时/何地发生?

import itertools

l=list(zip([1,2,2,3,3,3],['a','b','c','d','e','f']))
#[(1, 'a'), (2, 'b'), (2, 'c'), (3, 'd'), (3, 'e'), (3, 'f')]

grouped_l = list(itertools.groupby(l, key=lambda x:x[0]))
#[(1, <itertools._grouper at ...>), (2, <itertools._grouper at ...>), (3, <itertools._grouper at ...>)]

[list(x[1]) for x in grouped_l]
[[], [], [(3, 'f')]]


grouped_i = itertools.groupby(l, key=lambda x:x[0])
#<itertools.groupby at ...>
[list(x[1]) for x in grouped_i]
[[(1, 'a')], [(2, 'b'), (2, 'c')], [(3, 'd'), (3, 'e'), (3, 'f')]]
Run Code Online (Sandbox Code Playgroud)

python grouping iterator python-itertools

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

按月子集数据

按月划分的子集数据仅包括3月,6月,9月和12月。

设定:


x1 <- rnorm(24,0,1)
x2 <- rnorm(24,0,1)
x3 <- rnorm(24,0,1)

mat1 <- data.frame(rbind(x1,x2,x3))
colnames(mat1) <- c("Jan.96", "Feb.96", "Mar.96", "Apr.96", "May.96", "Jun.96", "Jul.96", "Aug.96", "Sep.96", "Oct.96", "Nov.96", "Dec.96", "Jan.97", "Feb.97", "Mar.97", "Apr.97", "May.97", "Jun.97", "Jul.97", "Aug.97", "Sep.97", "Oct.97", "Nov.97", "Dec.97")

Run Code Online (Sandbox Code Playgroud)

我希望最终矩阵只包含名称包含“ Mar”,“ Jun”,“ Sep”,“ Dec”的列。输出应采用以下形式:

output <- cbind(mat1$Mar.96, mat1$Jun.96, mat1$Sep.96, mat1$Dec.96, mat1$Mar.97, mat1$Jun.97, mat1$Sep.97, mat1$Dec.97)

  [,1]       [,2]       [,3]       [,4]       [,5]       [,6]      [,7]       [,8]
[1,]  0.5179178 -0.4810577  0.2178482 -0.4867642 -0.1219542  0.3185248  1.464423  0.4775712
[2,]  0.4905709  1.2061020 -0.6434293 -0.1864487 -0.2297027 -0.3290413 -3.438259 …
Run Code Online (Sandbox Code Playgroud)

grouping r subset dplyr

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