Erhalten Sie eine gruppierte Summe in Polaren, behalten Sie jedoch alle einzelnen Zeilen beiPython

Python-Programme
Anonymous
 Erhalten Sie eine gruppierte Summe in Polaren, behalten Sie jedoch alle einzelnen Zeilen bei

Post by Anonymous »

Ich zerbreche mir den Kopf über diese wahrscheinlich ziemlich einfache Frage und kann einfach nirgends eine Antwort finden. Ich möchte eine neue Spalte mit einer gruppierten Summe einer anderen Spalte erstellen, aber alle einzelnen Zeilen behalten. Das ist also, was in den Dokumenten steht:

Code: Select all

import polars as pl

df = pl.DataFrame(
{
"a": ["a", "b", "a", "b", "c"],
"b": [1, 2, 1, 3, 3],
}
)

df.group_by("a").agg(pl.col("b").sum())
Die Ausgabe davon wäre:

Code: Select all

shape: (3, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ i64 │
╞═════╪═════╡
│ a   ┆ 2   │
│ c   ┆ 3   │
│ b   ┆ 5   │
└─────┴─────┘
Was ich jedoch brauche, wäre Folgendes:

Code: Select all

shape: (5, 3)
┌─────┬─────┬────────┐
│ a   ┆ b   ┆ sum(b) │
│ --- ┆ --- ┆ ------ │
│ str ┆ i64 ┆ i64    │
╞═════╪═════╪════════╡
│ a   ┆ 1   ┆ 2      │
│ b   ┆ 2   ┆ 5      │
│ a   ┆ 1   ┆ 2      │
│ b   ┆ 3   ┆ 5      │
│ c   ┆ 3   ┆ 3      │
└─────┴─────┴────────┘
Ich könnte die Summe in einem separaten DF erstellen und sie dann mit dem Original verknüpfen, aber ich bin mir ziemlich sicher, dass es eine einfachere Lösung gibt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post