All nodes/Data/DataFrame Ops
DF Update
SQL UPDATE: sets column values of rows matching the predicate. If the predicate is empty, all rows are updated.
Type in the graph: df_update
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
Assigns column values to the rows that match a predicate — the SQL UPDATE of the family. The row count never changes: this is an edit in place, not a selection. Removing rows is df_query; removing or renaming columns is df_select.
Typical jobs: stamp a status onto selected records, normalise letter case before collapsing duplicates, recompute a total with a markup, fill gaps with a default.
How it works
“Where (predicate)” takes the same pandas expression as df_query. An empty field means “every row” — a working mode, not a mistake.
“SET” is a column → value map. A number, string or boolean is written literally. A string that
starts with = is treated as an expression over the columns: =amount * 1.2, =price * qty.
Such an expression is computed across the whole table but written only into the rows that passed
the predicate.
If the named column does not exist, it is created. For rows outside the predicate it stays empty.
Common mistakes
- A value that itself begins with
=. It goes to the evaluator as an expression and fails the node. Text of the form=Xcannot be written through this field. - Templates. Neither the predicate nor the values expand
{{ … }}: both go to pandas verbatim. A value from the run context cannot be substituted here. - The characters
@and__. They are rejected in the predicate and in=expressions alike, with an error. - An empty “SET” map. The graph fails validation: a node with no assignments does nothing.
- A predicate that matches no rows. Not an error: the table moves on unchanged and the node reports success. If you expected edits, check the preview in the run log.
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 |
|---|---|---|---|
Where (predicate)where | string | "" | Optional pandas query expression selecting target rows. Empty = update all rows. |
SETset_values | object | — | ``column → value`` map. Strings prefixed with ``=`` are evaluated against the row context (e.g. ``=col_a * 2``). Other values are assigned literally. |
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.