# Data Transformation
PrismStudio offers a wide range of data transformation functions to manipulate and analyze your data. Data transformations in PrismStudio are always operated with respect to each specific security and date. This means that the resulting component will have data points corresponding to each month, rather than daily data points.

The functions are grouped into the following categories:

1. **Basic** (39 functions): This category includes various arithmetic operations, such as addition, subtraction, multiplication, division, and more. It also includes method overrides for Python logical and comparison operators.
2. **Periodic** (14 functions): The periodic category provides functions for calculating periodic changes, such as percentage change, rate of change, and moving averages.
3. **Cross-Sectional** (16 functions): The cross-sectional category offers functions for analyzing data across different entities or groups. It includes functions like rank, percentile, and z-score calculations.
4. **Group** (16 functions): The group category provides functions for aggregating and summarizing data within groups. It includes functions like group mean, group sum, and group rank.
5. **Miscellaneous** (4 functions): This category includes miscellaneous data transformation functions that do not fall into other categories. It includes functions like resample, fillna, isin, and map.
6. **Ordinary Least Square** (6 functions): The Ordinary Least Square category provides functions for regression analysis and modeling. These functions help in estimating relationships between variables and predicting outcomes.


## Arithmetic
**Addition** (*[_PrismComponent.\__add\__](<#prismstudio._prismcomponent.__add__>)*)
Element-wise addition of two components.Element-wise operation is referenced by identification and date column. Can be used by either **`a + b`** or **`a.__add__(b)`**

**Subtract** (*[_PrismComponent.\__sub\__](<#prismstudio._prismcomponent.__sub__>)*): Element-wise subtraction of two components. Element-wise operation is referenced by identification and date column. Can be used by either **`a - b`** or **`a.__sub__(b)`**

**Multiply** (*[_PrismComponent.\__mul\__](<#prismstudio._prismcomponent.__mul__>)*)
Element-wise multiplication of two components. Element-wise operation is referenced by identification and date column. Can be used by either **`a * b`** or **`a.__mul__(b)`**

**Divide** (*[_PrismComponent.\__truediv\__](<#prismstudio._prismcomponent.__trudiv__>)*)
Element-wise division of two components. Element-wise operation is referenced by identification and date column. Can be used by either **`a / b`** or **`a.__truediv__(b)`**

**Floor divide** (*[_PrismComponent.\__floordiv\__](<#prismstudio._prismcomponent.__floordiv__>)*)
Element-wise floor division of two components. Element-wise operation is referenced by identification and date column. Can be used by either **`a // b`** or **`a.__flordiv__(b)`**

**Modulo** (*[_PrismComponent.\__mod\__](<#prismstudio._prismcomponent.__mod__>)*): Element-wise modulo operation of two components. Element-wise operation is referenced by identification and date column. Can be used by either **`a % b`** or **`a.__mod__(b)`**

**Power** (*[_PrismComponent.\__pow\__](<#prismstudio._prismcomponent.__pow__>)*): Element-wise exponentiation of two components. The first component is the base and the second component is the exponent. Element-wise operation is referenced by identification and date column. Can be used by either **`a ** b`** or **`a.__pow__(b)`**


## Comparison
**Equal to** (*[_PrismComponent.\__eq\__](<#prismstudio._prismcomponent.__gt__>)*): Element-wise comparison of two components. If the first component is equal to the second component, It will return True, otherwise it will return False. Element-wise operation is referenced by identification and date column. Can be used by either **`a == b`** or **`a.__eq__(b)`**

**Not equal to** (*[_PrismComponent.\__ne\__](<#prismstudio._prismcomponent.__gt__>)*): Element-wise comparison of two components. If the first component is not equal to the second component, It will return True, otherwise it will return False. Element-wise operation is referenced by identification and date column. Can be used by either **`a != b`** or **`a.__ne__(b)`**

**Greater than** (*[_PrismComponent.\__gt\__](<#prismstudio._prismcomponent.__gt__>)*): Element-wise comparison of two components. If the first component is greater than the second component, It will return True, otherwise it will return False. Only applicable for numeric data type. Element-wise operation is referenced by identification and date column. Can be used by either **`a > b`** or **`a.__gt__(b)`**

**Less than** (*[_PrismComponent.\__lt\__](<#prismstudio._prismcomponent.__lt__>)*): Element-wise comparison of two components. If the first component is less than the second component, It will return True, otherwise it will return False. Only applicable for numeric data type. Element-wise operation is referenced by identification and date column. Can be used by either **`a < b`** or **`a.__lt__(b)`**

**Greater than or equal to** (*[_PrismComponent.\__ge\__](<#prismstudio._prismcomponent.__gt__>)*): Element-wise comparison of two components. If the first component is greater than or equal to the second component, It will return True, otherwise it will return False. Only applicable for numeric data type. Element-wise operation is referenced by identification and date column. Can be used by either **`a >= b`** or **`a.__ge__(b)`**

**Less then or equal to** (*[_PrismComponent.\__le\__](<#prismstudio._prismcomponent.__lt__>)*): Element-wise comparison of two components. If the first component is less than the second component, It will return True, otherwise it will return False. Only applicable for numeric data type. Element-wise operation is referenced by identification and date column. Can be used by either **`a <= b`** or **`a.__le__(b)`**

## Logical

**And** (*[_PrismComponent.\__and\__](<#prismstudio._prismcomponent.__and__>)*): Element-wise **`"and"`** logic gate of two components. Only applicable for boolean data type. Element-wise operation is referenced by identification and date column. Can be used by **`a & b`**, **`a.__and__(b)`**, **`a and b`**

**Or** (*[_PrismComponent.\__or\__](<#prismstudio._prismcomponent.__or__>)*): Element-wise **`"or"`** logic gate of two components. Only applicable for boolean data type. Element-wise operation is referenced by identification and date column. Can be used by  **`a | b`**, **`a.__or__(b)`**, **`a or b`**

**Xor** (*[_PrismComponent.\__xor\__](<#prismstudio._prismcomponent.__or__>)*): Element-wise **`"xor"`** logic gate of two components. Only applicable for boolean data type. Element-wise operation is referenced by identification and date column. Can be used by either **`a ^ b`** or **`a.__xor__(b)`**


## Trigonometic
**Sine** (*[_PrismComponent.sin](<#prismstudio._prismcomponent.sin>)*)
Sine value of each element.

**Cosine** (*[_PrismComponent.cos](<#prismstudio._prismcomponent.cos>)*)
Cosine value of each element.

**Tangent** (*[_PrismComponent.tan](<#prismstudio._prismcomponent.tan>)*)
Tangent value of each element.

**Inverse sine** (*[_PrismComponent.arcsin](<#prismstudio._prismcomponent.arcsin>)*)
Inverse sine value of each element.

**Inverse cosine** (*[_PrismComponent.arccos](<#prismstudio._prismcomponent.arccos>)*)
Inverse cosine value of each element.

**Inverse tangent** (*[_PrismComponent.arctan](<#prismstudio._prismcomponent.arctan>)*)
Inverse tangent value of each element.

**Hyperbolic sine** (*[_PrismComponent.sinh](<#prismstudio._prismcomponent.sinh>)*):
Hyperbolic sine value of each element.

**Hyperbolic cosine** (*[_PrismComponent.cosh](<#prismstudio._prismcomponent.cosh>)*):
Hyperbolic cosine value of each element.

**Hyperbolic tangent** (*[_PrismComponent.tanh](<#prismstudio._prismcomponent.tanh>)*):
Hyperbolic tangent value of each element.

**Inverse hyperbolic sine** (*[_PrismComponent.sinh](<#prismstudio._prismcomponent.sinh>)*)
Inverse hyperbolic sine value of each element.

**Inverse hyperbolic cosine** (*[_PrismComponent.cosh](<#prismstudio._prismcomponent.cosh>)*)
Inverse hyperbolic cosine value of each element.

**Inverse hyperbolic tangent** (*[_PrismComponent.tanh](<#prismstudio._prismcomponent.tanh>)*)
Inverse hyperbolic tangent value of each element.

**Degrees** (*[_PrismComponent.degrees](<#prismstudio._prismcomponent.degrees>)*)
Degree value(from Radian) of each element.

**Radians** (*[_PrismComponent.radians](<#prismstudio._prismcomponent.radians>)*)
Radian value(from Radian) of each element.

## Exponential and Logarithmic
**Square root** (*[_PrismComponent.sqrt](<#prismstudio._prismcomponent.sqrt>)*)
Square root value of each element.

**Exponential** (*[_PrismComponent.exp](<#prismstudio._prismcomponent.exp>)*)
Exponential value of each element.

**Natural logarithm** (*[_PrismComponent.ln](<#prismstudio._prismcomponent.ln>)*)
Natural logarithm value of each element.

**Logarithm base n** (*[_PrismComponent.log_n](<#prismstudio._prismcomponent.log_n>)*)
Logarithm value base n of each element. n is a input parameter.

## Value Adjustment
**Absolute value** (*[_PrismComponent.abs](<#prismstudio._prismcomponent.abs>)*)
Non-negative value of each element.

**Sign** (*[_PrismComponent.sign](<#prismstudio._prismcomponent.sign>)*)
Sign of each element. If negative, returns -1. If positive, returns 1.

**Round** (*[_PrismComponent.round](<#prismstudio._prismcomponent.round>)*)
Rounded to given number of decimals of each element.

**Ceiling** (*[_PrismComponent.ceil](<#prismstudio._prismcomponent.ceil>)*)
Round up to nearest integer of each element.

**Floor** (*[_PrismComponent.floor](<#prismstudio._prismcomponent.floor>)*)
Round down to nearest integer of each element.

**Clip** (*[_PrismComponent.clip](<#prismstudio._prismcomponent.clip>)*)
Clip (limit) the values of each element to lower and upper bound, which are input parameters.

## Sample
**sample_pct_change** (*[_PrismComponent.pct_change](<#prismstudio._prismcomponent.pct_change>)*)
Percentage change(expressed as a decimal) in value for each listing between the current position and the position **`n`** steps back, where **`n`** is an input parameter.

**sample_diff** (*[_PrismComponent.diff](<#prismstudio._prismcomponent.diff>)*)
Difference in value for each listing between the current position and the position **`n`** steps back, where **`n`** is an input parameter.

**sample_shift** (*[_PrismComponent.shift](<#prismstudio._prismcomponent.shift>)*)
Shifts the data for each listing by **`n`** samples, where **`n`** is an input parameter, either backwards or forwards.

**sample_min** (*[_PrismComponent.min](<#prismstudio._prismcomponent.min>)*)
Minimum value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_max** (*[_PrismComponent.max](<#prismstudio._prismcomponent.max>)*)
Maxium value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_sum** (*[_PrismComponent.sum](<#prismstudio._prismcomponent.sum>)*)
Summed value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_median** (*[_PrismComponent.median](<#prismstudio._prismcomponent.median>)*)
Median value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_mean** (*[_PrismComponent.mean](<#prismstudio._prismcomponent.mean>)*)
Sample mean value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_std** (*[_PrismComponent.std](<#prismstudio._prismcomponent.std>)*)
Sample standard deviation value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_z_score** (*[_PrismComponent.z_score](<#prismstudio._prismcomponent.z_score>)*)
Z-score value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_var** (*[_PrismComponent.var](<#prismstudio._prismcomponent.var>)*)
Sample variance value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_skew** (*[_PrismComponent.skew](<#prismstudio._prismcomponent.skew>)*)
Sample skewness value within a rolling window for each listing, based on a specified number of samples, **`n`**, which is provided as an input parameter.

**sample_ewma** (*[_PrismComponent.ewma](<#prismstudio._prismcomponent.ewma>)*)
Exponential moving average value within a rolling window for each listing, based on a specified number of samples(span), **`n`**, which is provided as an input parameter.

**sample_ewmstd** (*[_PrismComponent.ewmstd](<#prismstudio._prismcomponent.ewmstd>)*)
Exponential moving standard deviation value within a rolling window for each listing, based on a specified number of samples(span), **`n`**, which is provided as an input parameter.

**sample_ewmvar** (*[_PrismComponent.ewmvar](<#prismstudio._prismcomponent.ewmvar>)*)
Rolling exponential moving variance value for each listing using a specified number of samples, **`n`**, as an input parameter.


## Periodic
**period_count** (*[_PrismComponent.periods_count](<#prismstudio._prismcomponent.period_count>)*)
Counts the number of non-null entries for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_min** (*[_PrismComponent.periods_min](<#prismstudio._prismcomponent.period_min>)*)
Minimum value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_max** (*[_PrismComponent.periods_max](<#prismstudio._prismcomponent.period_max>)*)
Maximum value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_sum** (*[_PrismComponent.periods_sum](<#prismstudio._prismcomponent.period_sum>)*)
Summed value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_median** (*[_PrismComponent.periods_median](<#prismstudio._prismcomponent.period_median>)*)
Median value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_mean** (*[_PrismComponent.periods_mean](<#prismstudio._prismcomponent.period_mean>)*)
Sample mean value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_std** (*[_PrismComponent.periods_std](<#prismstudio._prismcomponent.period_std>)*)
Sample standard deviation value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).

**period_var** (*[_PrismComponent.periods_var](<#prismstudio._prismcomponent.period_var>)*)
Sample variance value for each listing within a specified rolling period, input parameter **`sample_period`**, where the it is defined by a string format representing a range of dates (e.g., '365D' for 365 days, '6M' for 6 months).


## Cross-Sectional
**cross_sectional_rank** (*[_PrismComponent.cross_sectional_rank](<#prismstudio._prismcomponent.cross_sectional_rank>)*)
Numerical data ranks (1 through n) across all listings for each date based on a given ranked method. Rank method can be determined by adjusting **`rank_method`** parameter. Direction of the rank can be determined by adjusting **`ascending`** parameter.

**cross_sectional_percentile** (*[_PrismComponent.cross_sectional_percentile](<#prismstudio._prismcomponent.cross_sectional_percentile>)*)
Numerical data percentiles (between 0 and 1) across all listings for each date based on a given ranked method. Rank method can be determined by adjusting **`rank_method`** parameter. Direction of the rank can be determined by adjusting **`ascending`** parameter.

**cross_sectional_quantile** (*[_PrismComponent.cross_sectional_quantile](<#prismstudio._prismcomponent.cross_sectional_quantile>)*)
Numerical quantiles across all listings for each date based on a given ranked method. Number of bins is a required input parameter. each element based on a given ranked method. Rank method can be determined by adjusting **`rank_method`** parameter. Direction of the rank can be determined by adjusting **`ascending`** parameter.

**cross_sectional_z_score** (*[_PrismComponent.cross_sectional_z_score](<#prismstudio._prismcomponent.cross_sectional_z_score>)*)
Z-score for each listing on every date by subtracting the cross-sectional mean value(the mean across all listings for a given date) from each listing's value and dividing the cross-sectional standard deviation value at each aligned date.

**cross_sectional_demean** (*[_PrismComponent.cross_sectional_demean](<#prismstudio._prismcomponent.cross_sectional_demean>)*)
Mean-adjusted values for each listing on every date by subtracting the cross-sectional mean (the mean across all listings for a given date) from each listing's value at each aligned date.

**cross_sectional_min** (*[_PrismComponent.cross_sectional_min](<#prismstudio._prismcomponent.cross_sectional_min>)*)
Minimum value across all listings for each date. Note that **`cross_sectional_min`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_max** (*[_PrismComponent.cross_sectional_max](<#prismstudio._prismcomponent.cross_sectional_max>)*)
Maximum value across all listings for each date. Note that **`cross_sectional_max`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_sum** (*[_PrismComponent.cross_sectional_sum](<#prismstudio._prismcomponent.cross_sectional_sum>)*)
Summed value across all listings for each date. Note that **`cross_sectional_sum`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_prod** (*[_PrismComponent.cross_sectional_prod](<#prismstudio._prismcomponent.cross_sectional_prod>)*)
Multiplied value across all listings for each date. Note that **`cross_sectional_prod`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_mode** (*[_PrismComponent.cross_sectional_mode](<#prismstudio._prismcomponent.cross_sectional_mode>)*)
Mode value across all listings for each date. Note that **`cross_sectional_mode`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_median** (*[_PrismComponent.cross_sectional_median](<#prismstudio._prismcomponent.cross_sectional_median>)*)
Median value across all listings for each date. Note that **`cross_sectional_median`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_mean** (*[_PrismComponent.cross_sectional_mean](<#prismstudio._prismcomponent.cross_sectional_mean>)*)
Sample mean value across all listings for each date. Note that **`cross_sectional_mean`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_std** (*[_PrismComponent.cross_sectional_std](<#prismstudio._prismcomponent.cross_sectional_std>)*)
Sample standard deviation value across all listings for each date. Note that **`cross_sectional_mean`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_var** (*[_PrismComponent.cross_sectional_var](<#prismstudio._prismcomponent.cross_sectional_var>)*)
Sample variance value across all listings for each date. Note that **`cross_sectional_mean`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_skew** (*[_PrismComponent.cross_sectional_skew](<#prismstudio._prismcomponent.cross_sectional_skew>)*)
Sample skewness value across all listings for each date. Note that **`cross_sectional_skew`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_kurt** (*[_PrismComponent.cross_sectional_kurt](<#prismstudio._prismcomponent.cross_sectional_kurt>)*)
Sample kurtosis value across all listings for each date. Note that **`cross_sectional_kurt`** collapses the listing dimension to produce a single data point per date.

**cross_sectional_count** (*[_PrismComponent.cross_sectional_count](<#prismstudio._prismcomponent.cross_sectional_count>)*)
Counts the number of non-null entries across all listings for each date. Note that **`cross_sectional_count`** collapses the listing dimension to produce a single data point per date.

## Group
**group_rank** (*[_PrismComponent.group_rank](<#prismstudio._prismcomponent.group_rank>)*)
Numerical ranks (1 through number each group's listings) across listings within a specific group for each date, utilizing a selected ranking method. The ranking method and order can be customized through the **`rank_method`** and **`ascending parameters`**, respectively. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_percentile** (*[_PrismComponent.group_percentile](<#prismstudio._prismcomponent.group_percentile>)*)
Numerical data percentiles (between 0 and 1) across listings within a specific group for each date, utilizing a selected ranking method. The ranking method and order can be customized through the **`rank_method`** and **`ascending parameters`**, respectively. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).


**group_quantile** (*[_PrismComponent.group_quantile](<#prismstudio._prismcomponent.group_quantile>)*)
Numerical quantiles across listings within a specific group for each date, utilizing a selected ranking method. The ranking method and order can be customized through the **`rank_method`** and **`ascending parameters`**, respectively. Number of bins is a required input parameter. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_z_score** (*[_PrismComponent.group_z_score](<#prismstudio._prismcomponent.group_z_score>)*)
Z-score value for each listing on every date by subtracting the group mean value(the mean across listings within a group for a given date) from each listing's value and dividing the group standard deviation value at each aligned group and date. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_demean** (*[_PrismComponent.group_demean](<#prismstudio._prismcomponent.group_demean>)*)
Demeaned value for each listing on every date by subtracting the group mean value(the mean across listings within a group for a given date) from each listing's value at each aligned group and date. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_min** (*[_PrismComponent.group_min](<#prismstudio._prismcomponent.group_min>)*)
Minimum values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_max** (*[_PrismComponent.group_max](<#prismstudio._prismcomponent.group_max>)*)
Maximum values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_sum** (*[_PrismComponent.group_sum](<#prismstudio._prismcomponent.group_sum>)*)
Summed values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_prod** (*[_PrismComponent.group_prod](<#prismstudio._prismcomponent.group_prod>)*)
Multiplied values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_mode** (*[_PrismComponent.group_mode](<#prismstudio._prismcomponent.group_mode>)*)
Mode values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_median** (*[_PrismComponent.group_median](<#prismstudio._prismcomponent.group_median>)*)
Median values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_mean** (*[_PrismComponent.group_mean](<#prismstudio._prismcomponent.group_mean>)*)
Sample mean values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_std** (*[_PrismComponent.group_std](<#prismstudio._prismcomponent.group_std>)*)
Sample standard deviation values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_var** (*[_PrismComponent.group_var](<#prismstudio._prismcomponent.group_var>)*)
Sample variance values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_skew** (*[_PrismComponent.group_skew](<#prismstudio._prismcomponent.group_skew>)*)
Sample skewness values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_kurt** (*[_PrismComponent.group_kurt](<#prismstudio._prismcomponent.group_kurt>)*)
Sample kurtosis values across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

**group_count** (*[_PrismComponent.group_count](<#prismstudio._prismcomponent.group_count>)*)
Number of non-null data points across listings within a specified **`group`** for each date, effectively reducing the listing dimension to yield a single resulting value per date for each group. The **`group`** parameter, which can be of any data format, typically derives from [**`prismstudio.securitymaster.attribute`**](<#prismstudio.securitymaster.attribute>) using a specified categorical attribute. For detailed information on security master attribute, refer to the [contetguide](<#prismstudio.core.contentguide.index>).

## Miscellaneous
**resample** (*[_PrismComponent.resample](<#prismstudio._prismcomponent.resample>)*)



**map**

**filter**

**fillna**
## Ordinary Least Square


## Aggregating functions
There are aggregating function in PrismStudio that
