---
title: Fill columns
description: Fill missing or all values in specific columns using constants or statistical methods.
category: Data Transforms
tags: [imputation, fill, transformation, nulls, preprocessing]
---

# Fill columns

## Description

The **Fill Columns** activity fills missing or empty cells in one or more selected columns using configurable rules or values. It provides two modes:

- **Fill Empty Cells Only** – Fills only `null` or empty cells using statistical or logical methods such as **mean**, **mode**, **median**, **previous**, or **next** value.
- **Fill Entire Column** – Fills **all** cells in a column (including non-empty ones) with a specified constant value.

> **Use case**:  
> Useful when preparing datasets for machine learning, reporting, or transformation steps where consistent and complete data is required.

---

## Input

| Type | Description                                    |
| ---- | ---------------------------------------------- |
| Data | Tabular data with missing or incomplete values |

---

## Output

| Type             | Description                                   |
| ---------------- | --------------------------------------------- |
| Transformed Data | Data with columns updated based on fill rules |

---

## Configuration Fields

| Field Name           | Required | Description                                                                                                                                |
| -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Fill empty cells** | No       | Enables filling only empty (`null`) values. If disabled, all cells in the specified columns are filled.                                    |
| **Columns Map**      | Yes\*    | Mapping of column names to fill method (`Mean`, `Mode`, `Median`, `Previous`, `Next`).<br/>_(Visible only if Fill Empty Cells is enabled)_ |
| **Column Map**       | Yes\*    | Mapping of column names to constant values.<br/>_(Visible only if Fill Empty Cells is disabled)_                                           |
| **Include original** | No       | If enabled, the original columns are preserved and new columns with filled data are added.                                                 |

---

## Sample Input

| ID  | Age | Salary | Experience |
| --- | --- | ------ | ---------- |
| 1   | 25  | 50000  | 5 years    |
| 2   |     | 52000  |            |
| 3   | 30  |        | 7 years    |
| 4   |     | 55000  | 10 years   |

---

## Sample Configuration 1: Fill Empty Cells with Methods

| Field            | Value                                                  |
| ---------------- | ------------------------------------------------------ |
| Fill empty cells | true                                                   |
| Columns Map      | Age → `Mean`, Salary → `Mean`, Experience → `Previous` |
| Include original | false                                                  |

<!-- ![alt text](fill-columns-img-01.png)

--- -->

## Sample Output 1

| ID  | Age | Salary | Experience |
| --- | --- | ------ | ---------- |
| 1   | 25  | 50000  | 5 years    |
| 2   | 28  | 52000  | 5 years    |
| 3   | 30  | 52333  | 7 years    |
| 4   | 28  | 55000  | 10 years   |

---

## Sample Configuration 2: Fill Entire Columns with Constant Values

| Field            | Value                              |
| ---------------- | ---------------------------------- |
| Fill empty cells | false                              |
| Column Map       | Age → `25`, Experience → `5 years` |
| Include original | false                              |

<!-- ![alt text](fill-columns-img-02.png)

--- -->

## Sample Output 2

| ID  | Age | Salary | Experience |
| --- | --- | ------ | ---------- |
| 1   | 25  | 50000  | 5 years    |
| 2   | 25  | 52000  | 5 years    |
| 3   | 25  |        | 5 years    |
| 4   | 25  | 55000  | 5 years    |

---

> Use **Include Original** when you want to compare filled vs original data side-by-side without overwriting the input columns.
