All nodes/Data/DataFrame Ops
DF Group By
SQL GROUP BY + aggregations: specify the grouping columns and a list of aggregates (sum/mean/min/max/count/...).
Type in the graph: df_groupby_agg
Exec
An error branch can be enabled (expose_error_output) to handle failures on their own path.
Ports can be split into separate execution and data handles.
Try it
Minimal working workflow
- Execute + Data
Runs as pasted
When to use it
Collapses rows into groups and computes aggregates over them — the SQL GROUP BY of the family: sales per manager, tickets per day, average order value per city. If nothing has to be computed and you only want repeats gone, that is df_drop_duplicates.
How it works
“Group by columns” define what counts as one group: every distinct combination of values yields exactly one output row. Blank values are not dropped from the grouping — they form a group of their own.
“Aggregations” holds one entry per output column: column (what to compute over), func
(sum, mean, min, max, count, nunique, first, last, std, median) and an
optional alias. An empty alias produces a name like amount_sum.
The result consists only of the grouping columns and the computed aggregates. Anything listed in neither disappears — that is ordinary GROUP BY semantics, not lost data.
Common mistakes
- Expecting the other columns to survive. Customer name, city, link — if the report needs
them, add them as aggregates with the
firstfunction. - Two aggregates sharing an
alias. Only one of them reaches the result, without a warning. Automatic names (amount_sum,amount_mean) never collide; hand-written duplicates do. - Reading
countas “rows in the group”. It counts non-empty values of the named column, so a column with gaps reports a smaller number. For the group size, pick a column that is always filled. - A half-filled form. Validation requires at least one grouping column and at least one aggregate.
- A mistyped column name fails the node during the run, before anything is written.
Inputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
DataFramedf | Execute + Dataexecute_data | dataframe |
Outputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Successoutput | Execute + Dataexecute_data | dataframe | |
Erroron_error | Execute + Dataexecute_data | — | shown when expose_error_output = true |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
Group by columnsby | array<string> | — | At least one column. One output row per distinct combination of values. |
Aggregationsaggregations | array | — | One entry per output column: source column, function, optional alias. |
Shared fields
Every node has these three — the platform adds them, not the node author.
expose_error_output— When enabled, show an execution output to connect nodes that run if this step fails.split_ports_in— Show separate execution and data input handles instead of one combined port.split_ports_out— Show separate execution and data output handles instead of one combined port.