# Scale Columns

This function scales a column through standard or min/max scaling methods.

## Parameters

| Name               | Type         | Description                                                                                                                                                                                                                                                                                                                                         | Is Optional |
| ------------------ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| columns\_to\_scale | column\_list | A list of numeric columns that you want to scale                                                                                                                                                                                                                                                                                                    |             |
| method             | string       | The method used to scale the column values ('standard' or 'min\_max'). If 'standard' is chosen, this function scales a column by removing the mean and scaling by standard deviation. If 'min\_max' is selected, this function scales a column by subtracting the min value in the column and dividing by the range between the max and min values. |             |
| 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        |
| averages           | value\_list  | Only applies when 'standard' method is chosen. This is an optional argument representing a list of the static averages to use for each column in columns\_to\_scale. If omitted, the averages are calculated directly off each column.                                                                                                              | True        |
| standarddevs       | int\_list    | Only applies when 'standard' method is chosen. This is an optional argument representing a list of the static standard deviations to use for each column in columns\_to\_scale. If omitted, the values are calculated directly off each column.                                                                                                     | True        |
| minimums           | value\_list  | Only applies when 'min\_max' method is chosen. This is 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  | Only applies when 'min\_max' method is chosen. This is 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        |

## Example

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

ds2 = ds.scale_columns(columns_to_scale=['DS_DAILY_HIGH_TEMP','DS_DAILY_LOW_TEMP'], method='standard')
ds2.preview()

ds2b = ds.scale_columns(columns_to_scale=['DS_DAILY_HIGH_TEMP','DS_DAILY_LOW_TEMP'],
  averages=[68, 52],
  standarddevs=[12, 8],
  method='standard')
ds2b.preview()

ds2c = ds.scale_columns(columns_to_scale=['DS_DAILY_HIGH_TEMP','DS_DAILY_LOW_TEMP'],
  minimums=[52, 4],
  maximums=[101, 81],
  method='min_max')
ds2c.preview()

```

## Source Code

{% embed url="<https://github.com/rasgointelligence/RasgoTransforms/blob/main/rasgotransforms/rasgotransforms/transforms/scale_columns/scale_columns.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/scale_columns.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.
