Skip to main content
Glama

fill_column_nulls

Replace missing values in a data column with a specified value to handle null or NaN entries during data preparation.

Instructions

Fill null/NaN values in a specific column with a specified value.

Returns: ColumnOperationResult with fill details

Examples: # Fill missing names with "Unknown" fill_column_nulls(ctx, "name", "Unknown")

# Fill missing ages with 0
fill_column_nulls(ctx, "age", 0)

# Fill missing status with default
fill_column_nulls(ctx, "status", "pending")

# Fill missing scores with -1
fill_column_nulls(ctx, "score", -1)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
columnYesColumn name to fill null values in
valueYesValue to use for filling null/NaN values

Implementation Reference

  • The main execution logic for the 'fill_column_nulls' tool. Fills NaN/null values in the specified column of the session DataFrame with the provided value, counts affected rows, and returns a ColumnOperationResult.
    async def fill_column_nulls(
        ctx: Annotated[Context, Field(description="FastMCP context for session access")],
        column: Annotated[str, Field(description="Column name to fill null values in")],
        value: Annotated[Any, Field(description="Value to use for filling null/NaN values")],
    ) -> ColumnOperationResult:
        """Fill null/NaN values in a specific column with a specified value.
    
        Returns:
            ColumnOperationResult with fill details
    
        Examples:
            # Fill missing names with "Unknown"
            fill_column_nulls(ctx, "name", "Unknown")
    
            # Fill missing ages with 0
            fill_column_nulls(ctx, "age", 0)
    
            # Fill missing status with default
            fill_column_nulls(ctx, "status", "pending")
    
            # Fill missing scores with -1
            fill_column_nulls(ctx, "score", -1)
    
        """
        # Get session_id from FastMCP context
        session_id = ctx.session_id
        _session, df = get_session_data(session_id)
    
        _validate_column_exists(column, df)
    
        # Count nulls before filling
        nulls_before = int(df[column].isna().sum())
    
        if nulls_before == 0:
            # No nulls to fill
            return ColumnOperationResult(
                operation="fill_nulls",
                rows_affected=0,
                columns_affected=[column],
            )
    
        # Fill null values
        # Use explicit assignment to avoid downcasting warnings
        with pd.option_context("future.no_silent_downcasting", True):  # noqa: FBT003
            filled_series = df[column].fillna(value)
            if hasattr(filled_series, "infer_objects"):
                filled_series = filled_series.infer_objects(copy=False)
            df[column] = filled_series
    
        # Verify fills worked
        nulls_after = int(df[column].isna().sum())
        filled_count = nulls_before - nulls_after
    
        return ColumnOperationResult(
            operation="fill_nulls",
            rows_affected=filled_count,
            columns_affected=[column],
        )
  • Registers the fill_column_nulls handler function as an MCP tool with the name 'fill_column_nulls' on the FastMCP server instance.
    column_text_server.tool(name="fill_column_nulls")(fill_column_nulls)
  • Pydantic-based input schema defined via Annotated types with Field descriptions for the tool parameters, returning ColumnOperationResult.
    ctx: Annotated[Context, Field(description="FastMCP context for session access")],
    column: Annotated[str, Field(description="Column name to fill null values in")],
    value: Annotated[Any, Field(description="Value to use for filling null/NaN values")],

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