# Min Max Scaler

This function scales a column by subtracting the min value in the column and dividing by the range between the max and min values.

If you omit minimums and maximums, the function will compute the mins and maxes of each column. Pass minimums and maximiums values if you want to override the calculation with static values for each column.

## Parameters

| Name               | Type         | Description                                                                                                                                                                     | Is Optional |
| ------------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| columns\_to\_scale | column\_list | A list of numeric columns that you want to scale                                                                                                                                |             |
| minimums           | value\_list  | An optional argument representing a list of the static minimums to use for each column in columns\_to\_scale. If omitted, the minimums are calculated directly off each column. | True        |
| maximums           | value\_list  | An optional argument representing a list of the static maximums to use for each column in columns\_to\_scale. If omitted, the values are calculated directly off each column.   | True        |
| overwrite\_columns | boolean      | Optional: if true, the scaled values will overwrite values in 'columns\_to\_scale'. If false, new columns with the scaled values will be generated.                             | True        |

## Example

```python
ds = rasgo.get.dataset(id)

ds2 = ds.min_max_scaler(columns_to_scale=['DS_DAILY_HIGH_TEMP','DS_DAILY_LOW_TEMP'])
ds2.preview()

ds2b = ds.min_max_scaler(columns_to_scale=['DS_DAILY_HIGH_TEMP','DS_DAILY_LOW_TEMP'],
    minimums=[52, 4],
    maximums=[101, 81])
ds2b.preview()
```

## Source Code

{% embed url="<https://github.com/rasgointelligence/RasgoTransforms/blob/main/rasgotransforms/rasgotransforms/transforms/min_max_scaler/min_max_scaler.sql>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rasgoml.com/rasgo-docs/rasgo-0.1/all-transforms/min_max_scaler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
