
## Data Transformations

| Function Category                 | Data Function Name                            | Python Function                                                                                          | Python Usage Example                                                                          | Aggregation |
|-----------------------------------|-----------------------------------------------|----------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------| --- |
| Misc                              | fillna                                        | [`PrismComponent.fillna`](<#prismstudio._prismcomponent.fillna>)                                         | `A.fillna(value=5)` <br> `A.fillna(method='ffill', n=10)`                                     | ❌ |
| Misc                              | map                                           | [`PrismComponent.map`](<#prismstudio._prismcomponent.fillna>)                                            | `A.map({True: 3, False: A})`                                                                  | ❌ |
| Misc                              | resample                                      | [`PrismComponent.resample`](<#prismstudio._prismcomponent.fillna>)                                       | `A.resample(frequency='3M', lookback='180D')`                                                 | ❌ |
| Arithmetic <br> (Between Objects) | Add                                           | [`PrismComponent.__add__`](<#prismstudio._prismcomponent.__add__>)                                       | `A + B`                                                                                       |❌ |
| Arithmetic <br> (Between Objects) | Subtract                                      | [`PrismComponent.__sub__`](<#prismstudio._prismcomponent.__sub__>)                                       | `A - B`                                                                                       | ❌ |
| Arithmetic <br> (Between Objects) | Multiply                                      | [`PrismComponent.__mul__`](<#prismstudio._prismcomponent.__mul__>)                                       | `A * B`                                                                                       | ❌ |
| Arithmetic <br> (Between Objects) | True Division                                 | [`PrismComponent.__truediv__`](<#prismstudio._prismcomponent.__truediv__>)                               | `A / B`                                                                                       | ❌ |
| Arithmetic <br> (Between Objects) | Floor Division                                | [`PrismComponent.__floordiv__`](<#prismstudio._prismcomponent.__floordiv__>)                             | `A // B`                                                                                      | ❌ |
| Arithmetic <br> (Between Objects) | Modulo                                        | [`PrismComponent.__mod__`](<#prismstudio._prismcomponent.__mod__>)                                       | `A % B`                                                                                       | ❌ |
| Arithmetic <br> (Between Objects) | Power                                         | [`PrismComponent.__pow__`](<#prismstudio._prismcomponent.__pow__>)                                       | `A ** B`                                                                                      | ❌ |
| Arithmetic <br> (Between Objects) | Minimum                                       | [`PrismComponent.__min__`](<#prismstudio._prismcomponent.__min__>)                                       | `min(A, B)`                                                                                   | ❌ |
| Arithmetic <br> (Between Objects) | Maximum                                       | [`PrismComponent.__max__`](<#prismstudio._prismcomponent.__max__>)                                       | `max(A, B)`                                                                                   | ❌ |
| Arithmetic <br> (Within Objects)  | Exponential                                   | [`PrismComponent.exp`](<#prismstudio._prismcomponent.exp>)                                               | `A.exp()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Latural Log                                   | [`PrismComponent.ln`](<#prismstudio._prismcomponent.ln>)                                                 | `A.ln()`                                                                                      | ❌ |
| Arithmetic <br> (Within Objects)  | Log base n                                    | [`PrismComponent.log`](<#prismstudio._prismcomponent.log>)                                               | `A.log(2)`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Mean                                          | [`PrismComponent.mean`](<#prismstudio._prismcomponent.mean>)                                             | `A.mean()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Median                                        | [`PrismComponent.median`](<#prismstudio._prismcomponent.median>)                                         | `A.median()`                                                                                  | ❌ |
| Arithmetic <br> (Within Objects)  | Mode                                          | [`PrismComponent.mode`](<#prismstudio._prismcomponent.mode>)                                             | `A.mode()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Minimum                                       | [`PrismComponent.min`](<#prismstudio._prismcomponent.min>)                                               | `A.min()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Maximum                                       | [`PrismComponent.max`](<#prismstudio._prismcomponent.max>)                                               | `A.max()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Standard Deviation                            | [`PrismComponent.std`](<#prismstudio._prismcomponent.std>)                                               | `A.std()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Variance                                      | [`PrismComponent.var`](<#prismstudio._prismcomponent.var>)                                               | `A.var()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Skewness                                      | [`PrismComponent.skew`](<#prismstudio._prismcomponent.skew>)                                             | `A.skew()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Kurtosis                                      | [`PrismComponent.kurt`](<#prismstudio._prismcomponent.kurt>)                                             | `A.kurt()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Summation                                     | [`PrismComponent.sum`](<#prismstudio._prismcomponent.sum>)                                               | `A.sum()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Product                                       | [`PrismComponent.prod`](<#prismstudio._prismcomponent.prod>)                                             | `A.prod()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Ceiling                                       | [`PrismComponent.ceil`](<#prismstudio._prismcomponent.ceil>)                                             | `A.ceil()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Floor                                         | [`PrismComponent.floor`](<#prismstudio._prismcomponent.floor>)                                           | `A.floor()`                                                                                   | ❌ |
| Arithmetic <br> (Within Objects)  | Round                                         | [`PrismComponent.round`](<#prismstudio._prismcomponent.round>)                                           | `A.round(5)`                                                                                  | ❌ |
| Arithmetic <br> (Within Objects)  | Absolute Value                                | [`PrismComponent.abs`](<#prismstudio._prismcomponent.abs>)                                               | `A.abs()`                                                                                     | ❌ |
| Arithmetic <br> (Within Objects)  | Signum                                        | [`PrismComponent.sign`](<#prismstudio._prismcomponent.sign>)                                             | `A.sign()`                                                                                    | ❌ |
| Arithmetic <br> (Within Objects)  | Radians                                       | [`PrismComponent.radians`](<#prismstudio._prismcomponent.radians>)                                       | `A.radians()`                                                                                 | ❌ |
| Arithmetic <br> (Within Objects)  | Degrees                                       | [`PrismComponent.degrees`](<#prismstudio._prismcomponent.degrees>)                                       | `A.degrees()`                                                                                 | ❌ |
| Arithmetic <br> (Within Objects)  | Clip                                          | [`PrismComponent.clip`](<#prismstudio._prismcomponent.degrees>)                                          | `A.clip(upperbound=2, lowerbound=-3)` <br> `A.clip(lowerbound=0)` <br> `A.clip(upperbound=3)` | ❌ |
| Trigonometric                     | Cosine                                        | [`PrismComponent.cos`](<#prismstudio._prismcomponent.cos>)                                               | `A.cos()`                                                                                     | ❌ |
| Trigonometric                     | Sine                                          | [`PrismComponent.sin`](<#prismstudio._prismcomponent.sin>)                                               | `A.sin()`                                                                                     | ❌ |
| Trigonometric                     | Tangent                                       | [`PrismComponent.tan`](<#prismstudio._prismcomponent.tan>)                                               | `A.tan()`                                                                                     | ❌ |
| Trigonometric                     | Inverse Cosine                                | [`PrismComponent.arccos`](<#prismstudio._prismcomponent.arccos>)                                         | `A.arccos()`                                                                                  | ❌ |
| Trigonometric                     | Inverse Sine                                  | [`PrismComponent.arcsin`](<#prismstudio._prismcomponent.arcsin>)                                         | `A.arcsin()`                                                                                  | ❌ |
| Trigonometric                     | Inverse Tangent                               | [`PrismComponent.arctan`](<#prismstudio._prismcomponent.arctan>)                                         | `A.arctan()`                                                                                  | ❌ |
| Trigonometric                     | Hyperbolic Cosine                             | [`PrismComponent.cosh`](<#prismstudio._prismcomponent.cosh>)                                             | `A.cosh()`                                                                                    | ❌ |
| Trigonometric                     | Hyperbolic Sine                               | [`PrismComponent.sin`](<#prismstudio._prismcomponent.sinh>)                                              | `A.sin()`                                                                                     | ❌ |
| Trigonometric                     | Hyperbolic Tangent                            | [`PrismComponent.tanh`](<#prismstudio._prismcomponent.tanh>)                                             | `A.tan()`                                                                                     | ❌ |
| Trigonometric                     | Hyperbolic Inverse Cosine                     | [`PrismComponent.arccosh`](<#prismstudio._prismcomponent.arccosh>)                                       | `A.arccosh()`                                                                                 | ❌ |
| Trigonometric                     | Hyperbolic Inverse Sine                       | [`PrismComponent.arcsinh`](<#prismstudio._prismcomponent.arcsinh>)                                       | `A.arcsinh()`                                                                                 | ❌ |
| Trigonometric                     | Hyperbolic Inverse Tangent                    | [`PrismComponent.arctanh`](<#prismstudio._prismcomponent.arctanh>)                                       | `A.arctanh()`                                                                                 | ❌ |
| Comparison                        | Less Than                                     | [`PrismComponent.__lt__`](<#prismstudio._prismcomponent.__lt__>)                                         | `A < B`                                                                                       | ❌ |
| Comparison                        | Less Than or Equal                            | [`PrismComponent.__le__`](<#prismstudio._prismcomponent.__le__>)                                         | `A >= B`                                                                                      | ❌ |
| Comparison                        | Greater Than                                  | [`PrismComponent.__gt__`](<#prismstudio._prismcomponent.__gt__>)                                         | `A > B`                                                                                       | ❌ |
| Comparison                        | Greater Than or Equal                         | [`PrismComponent.__ge__`](<#prismstudio._prismcomponent.__ge__>)                                         | `A >= B`                                                                                      | ❌ |
| Comparison                        | Equal                                         | [`PrismComponent.__eq__`](<#prismstudio._prismcomponent.__eq__>)                                         | `A == B`                                                                                      | ❌ |
| Comparison                        | Not Equal                                     | [`PrismComponent.__ne__`](<#prismstudio._prismcomponent.__ne__>)                                         | `A != B`                                                                                      | ❌ |
| Logical                           | And                                           | [`PrismComponent.__and__`](<#prismstudio._prismcomponent.__and__>)                                       | `A & B`                                                                                       | ❌ |
| Logical                           | Or                                            | [`PrismComponent.__or__`](<#prismstudio._prismcomponent.__or__>)                                         | `A \| B`                                                                                      | ❌ |
| Logical                           | Xor                                           | [`PrismComponent.__xor__`](<#prismstudio._prismcomponent.__xor__>)                                       | `A ^ B`                                                                                       | ❌ |
| Sample                            | Percent Change                                | [`PrismComponent.sample_pct_change`](<#prismstudio._prismcomponent.sample_pct_change>)                   | `A.sample_pct_change(n=5, positive_denominator=False)`                                        | ❌ |
| Sample                            | Difference                                    | [`PrismComponent.sample_diff`](<#prismstudio._prismcomponent.sample_diff>)                               | `A.sample_diff(n=5, positive_denominator=False)`                                              | ❌ |
| Sample                            | Shift                                         | [`PrismComponent.sample_shift`](<#prismstudio._prismcomponent.sample_shift>)                             | `A.sample_shift(n=5, positive_denominator=False)`                                             | ❌ |
| Sample                            | Exponetial Weighted Moving Average            | [`PrismComponent.sample_ewma`](<#prismstudio._prismcomponent.sample_ewma>)                               | `A.sample_ewma(n=5, min_samples=4)`                                                           | ❌ |
| Sample                            | Exponetial Weighted Moving Standard Deviation | [`PrismComponent.sample_ewmstd`](<#prismstudio._prismcomponent.sample_ewmstd>)                           | `A.sample_ewmstd(n=5, min_samples=4)`                                                         | ❌ |
| Sample                            | Exponetial Weighted Moving Variance           | [`PrismComponent.sample_ewmvar`](<#prismstudio._prismcomponent.sample_ewmvar>)                           | `A.sample_ewmvar(n=5, min_samples=4)`                                                         | ❌ |
| Sample                            | Mean                                          | [`PrismComponent.sample_mean`](<#prismstudio._prismcomponent.sample_mean>)                               | `A.sample_mean(n=10)`                                                                         | ❌ |
| Sample                            | Median                                        | [`PrismComponent.sample_median`](<#prismstudio._prismcomponent.sample_median>)                           | `A.sample_median(n=10)`                                                                       | ❌ |
| Sample                            | Standard Deviation                            | [`PrismComponent.sample_std`](<#prismstudio._prismcomponent.sample_std>)                                 | `A.sample_std(n=10)`                                                                          | ❌ |
| Sample                            | Variance                                      | [`PrismComponent.sample_var`](<#prismstudio._prismcomponent.sample_var>)                                 | `A.sample_var(n=10)`                                                                          | ❌ |
| Sample                            | Skewness                                      | [`PrismComponent.sample_skew`](<#prismstudio._prismcomponent.sample_skew>)                               | `A.sample_skew(n=10)`                                                                         | ❌ |
| Sample                            | Z-Score                                       | [`PrismComponent.sample_z_score`](<#prismstudio._prismcomponent.sample_z_score>)                         | `A.sample_z_score(n=10)`                                                                      | ❌ |
| Sample                            | Minimum                                       | [`PrismComponent.sample_min`](<#prismstudio._prismcomponent.sample_min>)                                 | `A.sample_min(n=10)`                                                                          | ❌ |
| Sample                            | Maximum                                       | [`PrismComponent.sample_max`](<#prismstudio._prismcomponent.sample_max>)                                 | `A.sample_max(n=10)`                                                                          | ❌ |
| Sample                            | Sum                                           | [`PrismComponent.sample_sum`](<#prismstudio._prismcomponent.sample_sum>)                                 | `A.sample_sum(n=10)`                                                                          | ❌ |
| Period                            | Count                                         | [`PrismComponent.period_count`](<#prismstudio._prismcomponent.period_count>)                             | `A.period_count('2M')`                                                                        | ❌ |
| Period                            | Mean                                          | [`PrismComponent.period_mean`](<#prismstudio._prismcomponent.period_mean>)                               | `A.period_mean('365D')`                                                                       | ❌ |
| Period                            | Median                                        | [`PrismComponent.period_median`](<#prismstudio._prismcomponent.period_median>)                           | `A.period_median('365D')`                                                                     | ❌ |
| Period                            | Standard Deviation                            | [`PrismComponent.period_std`](<#prismstudio._prismcomponent.period_std>)                                 | `A.period_std('6M')`                                                                          | ❌ |
| Period                            | Variance                                      | [`PrismComponent.period_var`](<#prismstudio._prismcomponent.period_var>)                                 | `A.period_var('6M')`                                                                          | ❌ |
| Period                            | Z-Score                                       | [`PrismComponent.period_z_score`](<#prismstudio._prismcomponent.period_z_score>)                         | `A.period_z_score('6M')`                                                                      | ❌ |
| Period                            | Minimum                                       | [`PrismComponent.period_min`](<#prismstudio._prismcomponent.period_min>)                                 | `A.period_min('365D')`                                                                        | ❌ |
| Period                            | Maximum                                       | [`PrismComponent.period_max`](<#prismstudio._prismcomponent.period_max>)                                 | `A.period_max('36M')`                                                                         | ❌ |
| Period                            | Sum                                           | [`PrismComponent.period_sum`](<#prismstudio._prismcomponent.period_sum>)                                 | `A.period_sum('1W')`                                                                          | ❌ |
| Cross-Sectional                   | Rank                                          | [`PrismComponent.cross_sectional_rank`](<#prismstudio._prismcomponent.cross_sectional_rank>)             | `A.cross_sectional_rank(rank_method='standard', ascending=False)`                             | ❌ |
| Cross-Sectional                   | Percentile                                    | [`PrismComponent.cross_sectional_percentile`](<#prismstudio._prismcomponent.cross_sectional_percentile>) | `A.cross_sectional_percentile(rank_method='standard', ascending=False)`                       | ❌ |
| Cross-Sectional                   | Quantile                                      | [`PrismComponent.cross_sectional_quantile`](<#prismstudio._prismcomponent.cross_sectional_quantile>)     | `A.cross_sectional_quantile(bins=5, rank_method='standard', ascending=False, right=True)`     | ❌ |
| Cross-Sectional                   | Z-Score                                       | [`PrismComponent.cross_sectional_z_score`](<#prismstudio._prismcomponent.cross_sectional_z_score>)       | `A.cross_sectional_z_score()`                                                                 | ❌ |
| Cross-Sectional                   | Demean                                        | [`PrismComponent.cross_sectional_demean`](<#prismstudio._prismcomponent.cross_sectional_demean>)         | `A.cross_sectional_demean()`                                                                  | ❌ |
| Cross-Sectional                   | Count                                         | [`PrismComponent.cross_sectional_count`](<#prismstudio._prismcomponent.cross_sectional_count>)           | `A.cross_sectional_count()`                                                                   | ✔️ |
| Cross-Sectional                   | Sum                                           | [`PrismComponent.cross_sectional_sum`](<#prismstudio._prismcomponent.cross_sectional_sum>)               | `A.cross_sectional_sum()`                                                                     | ✔️ |
| Cross-Sectional                   | Prod                                          | [`PrismComponent.cross_sectional_prod`](<#prismstudio._prismcomponent.cross_sectional_prod>)             | `A.cross_sectional_prod()`                                                                    | ✔️ |
| Cross-Sectional                   | Mean                                          | [`PrismComponent.cross_sectional_mean`](<#prismstudio._prismcomponent.cross_sectional_mean>)             | `A.cross_sectional_mean()`                                                                    | ✔️ |
| Cross-Sectional                   | Standard Deviation                            | [`PrismComponent.cross_sectional_std`](<#prismstudio._prismcomponent.cross_sectional_std>)               | `A.cross_sectional_std()`                                                                     | ✔️ |
| Cross-Sectional                   | Variance                                      | [`PrismComponent.cross_sectional_var`](<#prismstudio._prismcomponent.cross_sectional_var>)               | `A.cross_sectional_var()`                                                                     | ✔️ |
| Cross-Sectional                   | Skewness                                      | [`PrismComponent.cross_sectional_skew`](<#prismstudio._prismcomponent.cross_sectional_skew>)             | `A.cross_sectional_skew()`                                                                    | ✔️ |
| Cross-Sectional                   | Kurtosis                                      | [`PrismComponent.cross_sectional_kurt`](<#prismstudio._prismcomponent.cross_sectional_kurt>)             | `A.cross_sectional_kurt()`                                                                    | ✔️ |
| Cross-Sectional                   | Minimum                                       | [`PrismComponent.cross_sectional_min`](<#prismstudio._prismcomponent.cross_sectional_min>)               | `A.cross_sectional_min()`                                                                     | ✔️ |
| Cross-Sectional                   | Maximum                                       | [`PrismComponent.cross_sectional_max`](<#prismstudio._prismcomponent.cross_sectional_max>)               | `A.cross_sectional_max()`                                                                     | ✔️ |
| Group                             | Rank                                          | [`PrismComponent.group_rank`](<#prismstudio._prismcomponent.group_rank>)                                 | `A.group_rank(group, rank_method='standard', ascending=False)`                                | ❌ |
| Group                             | Percentile                                    | [`PrismComponent.group_percentile`](<#prismstudio._prismcomponent.group_percentile>)                     | `A.group_percentile(group, rank_method='standard', ascending=False)`                          | ❌ |
| Group                             | Quantile                                      | [`PrismComponent.group_quantile`](<#prismstudio._prismcomponent.group_quantile>)                         | `A.group_quantile(group, bins=5, rank_method='standard', ascending=False, right=True)`        | ❌ |
| Group                             | Z-Score                                       | [`PrismComponent.group_z_score`](<#prismstudio._prismcomponent.group_z_score>)                           | `A.group_z_score(group)`                                                                      | ❌ |
| Group                             | Demean                                        | [`PrismComponent.group_demean`](<#prismstudio._prismcomponent.group_demean>)                             | `A.group_demean(group)`                                                                       | ❌ |
| Group                             | Count                                         | [`PrismComponent.group_count`](<#prismstudio._prismcomponent.group_count>)                               | `A.group_count(group)`                                                                        | ✔️ |
| Group                             | Sum                                           | [`PrismComponent.group_sum`](<#prismstudio._prismcomponent.group_sum>)                                   | `A.group_sum(group)`                                                                          | ✔️ |
| Group                             | Prod                                          | [`PrismComponent.group_prod`](<#prismstudio._prismcomponent.group_prod>)                                 | `A.group_prod(group)`                                                                         | ✔️ |
| Group                             | Mean                                          | [`PrismComponent.group_mean`](<#prismstudio._prismcomponent.group_mean>)                                 | `A.group_mean(group)`                                                                         | ✔️ |
| Group                             | Standard Deviation                            | [`PrismComponent.group_std`](<#prismstudio._prismcomponent.group_std>)                                   | `A.group_std(group)`                                                                          | ✔️ |
| Group                             | Variance                                      | [`PrismComponent.group_var`](<#prismstudio._prismcomponent.group_var>)                                   | `A.group_var(group)`                                                                          | ✔️ |
| Group                             | Skewness                                      | [`PrismComponent.group_skew`](<#prismstudio._prismcomponent.group_skew>)                                 | `A.group_skew(group)`                                                                         | ✔️ |
| Group                             | Kurtosis                                      | [`PrismComponent.group_kurt`](<#prismstudio._prismcomponent.group_kurt>)                                 | `A.group_kurt(group)`                                                                         | ✔️ |
| Group                             | Minimum                                       | [`PrismComponent.group_min`](<#prismstudio._prismcomponent.group_min>)                                   | `A.group_min(group)`                                                                          | ✔️ |
| Group                             | Maximum                                       | [`PrismComponent.group_max`](<#prismstudio._prismcomponent.group_max>)                                   | `A.group_max(group)`                                                                          | ✔️ |
| Ordinary Lease Square             | Sample Beta                                   | [`prismstudio.ols.sample_beta`](<#prismstudio.ols.sample_beta>)                                          | `prismstudio.ols.sample_beta(A, B, n=60, min_periods=5, fit_intercept=True)`                  | ❌ |
| Ordinary Lease Square             | Sample Intercept                              | [`prismstudio.ols.sample_intercept`](<#prismstudio.ols.sample_intercept>)                                | `prismstudio.ols.sample_intercept(A, B, n=60, min_periods=5)`                                 | ❌ |
| Ordinary Lease Square             | Sample Residual                               | [`prismstudio.ols.sample_residual`](<#prismstudio.ols.sample_residual>)                                  | `prismstudio.ols.sample_residual(A, B, n=60, min_periods=5, fit_intercept=True)`              | ❌ |
| Ordinary Lease Square             | Cross-Sectional Beta                          | [`prismstudio.ols.cross_sectional_beta`](<#prismstudio.ols.cross_sectional_beta>)                        | `prismstudio.ols.cross_sectional_beta(A, B, fit_intercept=True)`                              | ✔️ |
| Ordinary Lease Square             | Cross-Sectional Intercept                     | [`prismstudio.ols.cross_sectional_intercept`](<#prismstudio.ols.cross_sectional_intercept>)              | `prismstudio.ols.cross_sectional_intercept(A, B)`                                             | ✔️ |
| Ordinary Lease Square             | Cross-Sectional Residual                      | [`prismstudio.ols.cross_sectional_residual`](<#prismstudio.ols.cross_sectional_residual>)                | `prismstudio.ols.cross_sectional_residual(A, B, fit_intercept=True)`                          | ✔️ |