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/...).

DF Group By
DataFrameSuccess
Error

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

Entry
DF Group By
Exit
  • Execute + Data
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

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 first function.
  • 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 count as “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

PortWirePayloadNotes
DataFramedfExecute + Dataexecute_datadataframe

Outputs

PortWirePayloadNotes
SuccessoutputExecute + Dataexecute_datadataframe
Erroron_errorExecute + Dataexecute_data

shown when expose_error_output = true

Configuration

FieldTypeDefaultDescription
Group by columnsbyarray<string>

At least one column. One output row per distinct combination of values.

Aggregationsaggregationsarray

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.