Skip to main content
Glama

remove_columns

Remove specified columns from a dataframe to clean data, reduce dataset size, or eliminate unnecessary variables for analysis.

Instructions

Remove columns from the dataframe.

Returns: ColumnOperationResult with removal details

Examples: # Remove single column remove_columns(ctx, ["temp_column"])

# Remove multiple columns remove_columns(ctx, ["col1", "col2", "col3"]) # Clean up after analysis remove_columns(ctx, ["_temp", "_backup", "old_value"])

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
columnsYesList of column names to remove from the dataframe

Implementation Reference

  • The main handler function that executes the remove_columns tool: validates columns exist, drops them from the dataframe using pandas, updates the session dataframe, and returns a structured result.
    async def remove_columns( ctx: Annotated[Context, Field(description="FastMCP context for session access")], columns: Annotated[ list[str], Field(description="List of column names to remove from the dataframe"), ], ) -> ColumnOperationResult: """Remove columns from the dataframe. Returns: ColumnOperationResult with removal details Examples: # Remove single column remove_columns(ctx, ["temp_column"]) # Remove multiple columns remove_columns(ctx, ["col1", "col2", "col3"]) # Clean up after analysis remove_columns(ctx, ["_temp", "_backup", "old_value"]) """ # Get session_id from FastMCP context session_id = ctx.session_id session, df = get_session_data(session_id) # Validate columns exist missing_cols = [col for col in columns if col not in df.columns] if missing_cols: raise ColumnNotFoundError(str(missing_cols[0]), df.columns.tolist()) session.df = df.drop(columns=columns) # No longer recording operations (simplified MCP architecture) return ColumnOperationResult( operation="remove", rows_affected=len(df), columns_affected=columns, )
  • Pydantic schema for the output response of the remove_columns tool (shared across column operations). Defines fields like operation='remove', rows_affected, columns_affected.
    class ColumnOperationResult(BaseToolResponse): """Response model for column operations (add, remove, rename, etc.).""" operation: str = Field(description="Type of operation performed") rows_affected: int = Field(description="Number of rows affected by operation") columns_affected: list[str] = Field(description="Names of columns affected") original_sample: list[CsvCellValue] | None = Field( default=None, description="Sample values before operation", ) updated_sample: list[CsvCellValue] | None = Field( default=None, description="Sample values after operation", ) # Additional fields for specific operations part_index: int | None = Field(default=None, description="Part index for split operations") transform: str | None = Field(default=None, description="Transform description") nulls_filled: int | None = Field(default=None, description="Number of null values filled") rows_removed: int | None = Field( default=None, description="Number of rows removed (for remove_duplicates)", ) values_filled: int | None = Field( default=None, description="Number of values filled (for fill_missing_values)", )
  • Registers the remove_columns handler function as the MCP tool named 'remove_columns' on the FastMCP column_server instance.
    column_server.tool(name="remove_columns")(remove_columns)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jonpspri/databeak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server