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.

DF Update
DataFrameSuccess
Error

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

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

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 =X cannot 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

PortWirePayloadNotes
DataFramedfExecute + Dataexecute_datadataframe

Outputs

PortWirePayloadNotes
SuccessoutputExecute + Dataexecute_datadataframe
Erroron_errorExecute + Dataexecute_data

shown when expose_error_output = true

Configuration

FieldTypeDefaultDescription
Where (predicate)wherestring""

Optional pandas query expression selecting target rows. Empty = update all rows.

SETset_valuesobject

``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.