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▶
TableTable
Error

Type in the graph: df_groupby_agg

Exec

An error output can be enabled to handle failures on their own path.

Ports can be split into separate execution and data handles.

Try it

Minimal working scenario

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
TabledfExecute + Dataexecute_datadataframe

Outputs

PortWirePayloadNotes
TableoutputExecute + 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.