Pivotieren von Daten mit LINQ
In der Datenwissenschaft wandelt das Pivotieren Daten von einem Breitformat in ein Hochformat um oder umgekehrt. Angenommen, Sie haben einen Datensatz mit Elementen, die ein Enum- und ein User-Objekt enthalten, und müssen ihn für eine Rasteranzeige reduzieren. Eine einfache Methode beinhaltet verschachtelte foreach-Schleifen, aber dieser Ansatz kann aufgrund der sich ändernden Sammlungsgröße zu Fehlern führen.
Der LINQ-Pivot-Ansatz
LINQ bietet eine sauberere und effizientere Methode zum Pivotieren von Daten:
var grps = from d in data group d by d.Foo into grp select new { Foo = grp.Key, Bars = grp.Select(d2 => d2.Bar).ToArray() };
int rows = grps.Max(grp => grp.Bars.Length);
foreach (var grp in grps) { Console.Write(grp.Foo + "\t"); }
for (int i = 0; i < rows; i++) { foreach (var grp in grps) { Console.Write((i < grp.Bars.Length ? grp.Bars[i] : null) + "\t"); } Console.WriteLine(); }
Dieser Code führt die Daten-Pivotierung elegant durch und bietet eine saubere und effiziente Lösung zum Zusammenführen komplexer Datensätze in einem Raster Format.
Das obige ist der detaillierte Inhalt vonWie kann LINQ Daten für die Rasteranzeige effizient von einem breiten in ein hohes Format umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!