Как я могу получить количество определенных элементов в таблице данных? - PullRequest
0 голосов
/ 26 апреля 2020

Таким образом, есть DataTable, у которого есть один столбец с именем DATE, у которого есть строка format. Я получил наибольшую дату вхождения в столбце и сохранил ее в переменной DateMax2, но я также хочу count. Однако, когда я пытаюсь получить count, он возвращает счетчик строк DataTable.

Код:

var MaxOccur2 = (From d In FilterDT1.AsEnumerable Select DateMax2).ToArray
writeline(MaxOccur2.Count.ToString)

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Бесстыдно украдено у https://social.msdn.microsoft.com/Forums/vstudio/en-US/9499a619-6aba-4992-a073-4a47a035c11d/how-to-find-the-mode-of-an-array-of-numbers?forum=vbgeneral

Как вы получили режим без счета?

Private Sub OPCode()
    Dim dates = {"3/1/2020", "3/1/2020", "3/1/2020", "3/1/2020", "4/1/2020", "2/1/2020", "2/1/2020", "2/1/2020", "1/1/2020"}
    Dim counts = dates.GroupBy(Function(n) n).Select(Function(g) New With {.Date = g.Key, .Quantity = g.Count})

    For Each count In counts
        Debug.WriteLine(count.Date & ": " & count.Quantity)
    Next

    Dim mode = dates.GroupBy(Function(n) n).Select(Function(g) New With {.Date = g.Key, .Quantity = g.Count}).OrderByDescending(Function(o) o.Quantity).FirstOrDefault
    Debug.WriteLine($"Mode is: {mode.Date} Number of occurances: {mode.Quantity}")
End Sub
0 голосов
/ 26 апреля 2020

Например

Dim groups = From row In FilterDT1
             Group row By Key = row.Field(Of String)("DateColumn") Into Group
             Select DateValue = Key, Count = Group.Count()
Dim maxGroup = groups.OrderByDescending(Function(g) g.Count).First()

Console.WriteLine($"The most common DateColumn value is {maxGroup.DateValue}, which appeared {maxGroup.Count} times.")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...