Back to Langflow

Table Operations

docs/versioned_docs/version-1.9.0/Components/dataframe-operations.mdx

1.10.0.dev2012.1 KB
Original Source

import Icon from "@site/src/components/icon"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PartialParams from '@site/docs/_partial-hidden-params.mdx'; import PartialCurlyBraces from '@site/docs/_partial-escape-curly-braces.mdx';

:::tip Prior to Langflow 1.9.0, this component was named DataFrame Operations. :::

The Table Operations component performs operations on Table rows and columns, including schema changes, record changes, sorting, and filtering. For all options, see Table Operations parameters.

The output is a new Table containing the modified data after running the selected operation.

Use the Table Operations component in a flow

The following steps explain how to configure a Table Operations component in a flow. You can follow along with an example or use your own flow. The only requirement is that the preceding component must create Table output that you can pass to the Table Operations component.

  1. Create a new flow or use an existing flow.

    <details> <summary>Example: API response extraction flow</summary>

    The following example flow uses five components to extract JSON from an API response, transform it to a Table, and then perform further processing on tabular data using a Table Operations component. The sixth component, Chat Output, is optional in this example. It only serves as a convenient way for you to view the final output in the Playground, rather than inspecting the component logs.

    If you want to use this example to test the Table Operations component, do the following:

    1. Create a flow with the following components:

      • API Request
      • Language Model
      • Smart Transform
      • Type Convert
    2. Configure the Smart Transform component and its dependencies:

      • API Request: Configure the API Request component to get JSON data from an endpoint of your choice, and then connect the API Response output to the Smart Transform component's Data input.
      • Language Model: Select your preferred provider and model, and then enter a valid API key. Change the output to Language Model, and then connect the LanguageModel output to the Smart Transform component's Language Model input.
      • Smart Transform: In the Instructions field, enter natural language instructions to extract data from the API response. Your instructions depend on the response content and desired outcome. For example, if the response contains a large result field, you might provide instructions like explode the result field out into a Data object.
    3. Convert the Smart Transform component's output from JSON to Table:

      1. Connect the Filtered Data output to the Type Convert component's JSON input.
      2. Set the Type Convert component's Output Type to Table.

    Now the flow is ready for you to add the Table Operations component.

    </details>
  2. Add a Table Operations component to the flow, and then connect Table output from another component to the Table input.

    All operations in the Table Operations component require at least one Table input from another component. If a component doesn't produce Table output, you can use another component, such as the Type Convert component, to reformat the data before passing it to the Table Operations component. Alternatively, you could consider using a component that is designed to process the original data type, such as the Parser component or JSON Operations component.

    If you are following along with the example flow, connect the Type Convert component's Table Output port to the Table input.

  3. In the Operations field, select the operation you want to perform on the incoming Table. For example, the Filter operation filters the rows based on a specified column and value.

    :::tip You can select only one operation. If you need to perform multiple operations on the data, you can chain multiple Table Operations components together to execute each operation in sequence. For more complex multi-step operations, like dramatic schema changes or pivots, consider using an LLM-powered component, like the Structured Output component or Smart Transform component, as a replacement or preparation for the Table Operations component. :::

    If you're following along with the example flow, select any operation that you want to apply to the data that was extracted by the Smart Transform component. To view the contents of the incoming Table, click <Icon name="Play" aria-hidden="true" /> Run component on the Type Convert component, and then <Icon name="TextSearch" aria-hidden="true" /> Inspect output. If the Table seems malformed, click <Icon name="TextSearch" aria-hidden="true" /> Inspect output on each upstream component to determine where the error occurs, and then modify your flow's configuration as needed. For example, if the Smart Transform component didn't extract the expected fields, modify your instructions or verify that the given fields are present in the API Response output.

  4. Configure the operation's parameters. The specific parameters depend on the selected operation. For example, if you select the Filter operation, you must define a filter condition using the Column Name, Filter Value, and Filter Operator parameters. For more information, see Table Operations parameters

  5. To test the flow, click <Icon name="Play" aria-hidden="true" /> Run component on the Table Operations component, and then click <Icon name="TextSearch" aria-hidden="true" /> Inspect output to view the new Table created from the Filter operation.

    If you want to view the output in the Playground, connect the Table Operations component's output to a Chat Output component, rerun the Table Operations component, and then click Playground.

For another example, see Conditional looping.

Table Operations parameters

Most Table Operations parameters are conditional because they only apply to specific operations.

The only permanent parameters are Table (df), which is the Table input, and Operation (operation), which is the operation to perform on the Table. Once you select an operation, the conditional parameters for that operation appear on the Table Operations component.

<Tabs> <TabItem value="addcolumn" label="Add Column" default>

The Add Column operation allows you to add a new column to the Table with a constant value.

The parameters are New Column Name (new_column_name) and New Column Value (new_column_value).

</TabItem> <TabItem value="concatenate" label="Concatenate">

The Concatenate operation combines multiple input Table objects into a single Table by stacking their rows vertically. For example, if you have Table A and Table B, they are combined into one table with all rows from Table A, and then all rows from Table B.

This operation uses the Table (df) input. Connect multiple Table outputs to the same input to concatenate them. The output is a single Table containing the combined rows from all connected inputs.

</TabItem> <TabItem value="dropcolumn" label="Drop Column">

The Drop Column operation allows you to remove a column from the Table, specified by Column Name (column_name).

</TabItem> <TabItem value="filter" label="Filter">

The Filter operation allows you to filter the Table based on a specified condition. The output is a Table containing only the rows that matched the filter condition.

Provide the following parameters:

  • Column Name (column_name): The name of the column to filter on.
  • Filter Value (filter_value): The value to filter on.
  • Filter Operator (filter_operator): The operator to use for filtering, one of equals (default), not equals, contains, not contains, starts with, ends with, greater than, or less than.
</TabItem> <TabItem value="head" label="Head">

The Head operation allows you to retrieve the first n rows of the Table, where n is set in Number of Rows (num_rows). The default is 5.

The output is a Table containing only the selected rows.

</TabItem> <TabItem value="merge" label="Merge">

The Merge operation combines two input Table objects by matching rows that share the same value in a selected column. For example, if one table has id and name, and another has id and department, you can merge both tables on id to produce one table with id, name, and department.

Provide the following parameters:

  • Left Table (left_dataframe): The primary table in the merge.
  • Right Table (right_dataframe): The secondary table in the merge.
  • Merge On Column (merge_on_column): The shared column used to match rows. This column must exist in both tables.
  • Merge Type (merge_how): Controls which matched and unmatched rows are kept in the output. Use inner to keep only matching rows, left to keep all rows from the left table, right to keep all rows from the right table, or outer to keep all rows from both tables.

The output is a Table containing matched records from both inputs.

</TabItem> <TabItem value="renamecolumn" label="Rename Column">

The Rename Column operation allows you to rename an existing column in the Table.

The parameters are Column Name (column_name), which is the current name, and New Column Name (new_column_name).

</TabItem> <TabItem value="replacevalue" label="Replace Value">

The Replace Value operation allows you to replace values in a specific column of the Table. This operation replaces a target value with a new value. All cells matching the target value are replaced with the new value in the new Table output.

Provide the following parameters:

  • Column Name (column_name): The name of the column to modify.
  • Value to Replace (replace_value): The value that you want to replace.
  • Replacement Value (replacement_value): The new value to use.
</TabItem> <TabItem value="selectcolumns" label="Select Columns">

The Select Columns operation allows you to select one or more specific columns from the Table.

Provide a list of column names in Columns to Select (columns_to_select). In the visual editor, click <Icon name="Plus" aria-hidden="true"/> Add More to add multiple fields, and then enter one column name in each field.

The output is a Table containing only the specified columns.

</TabItem> <TabItem value="sort" label="Sort">

The Sort operation allows you to sort the Table on a specific column in ascending or descending order.

Provide the following parameters:

  • Column Name (column_name): The name of the column to sort on.
  • Sort Ascending (ascending): Whether to sort in ascending or descending order. If enabled (true), sorts in ascending order; if disabled (false), sorts in descending order. Default: Enabled (true)
</TabItem> <TabItem value="tail" label="Tail">

The Tail operation allows you to retrieve the last n rows of the Table, where n is set in Number of Rows (num_rows). The default is 5.

The output is a Table containing only the selected rows.

</TabItem> <TabItem value="dropduplicates" label="Drop Duplicates">

The Drop Duplicates operation removes rows from the Table by identifying all duplicate values within a single column.

The only parameter is the Column Name (column_name).

When the flow runs, all rows with duplicate values in the given column are removed. The output is a Table containing all columns from the original Table, but only rows with non-duplicate values.

</TabItem> </Tabs>