| import pandas as pd |
| |
| """ |
| Notes: |
| 1. This file is used for all the [ray|dask|spark]/hello_world examples. |
| 2. It therefore show cases how you can write something once and not only scale it, but port it |
| to different frameworks with ease! |
| """ |
| |
| |
| def avg_3wk_spend(spend: pd.Series) -> pd.Series: |
| """Rolling 3 week average spend.""" |
| return spend.rolling(3).mean() |
| |
| |
| def spend_per_signup(spend: pd.Series, signups: pd.Series) -> pd.Series: |
| """The cost per signup in relation to spend.""" |
| return spend / signups |
| |
| |
| def spend_mean(spend: pd.Series) -> float: |
| """Shows function creating a scalar. In this case it computes the mean of the entire column.""" |
| return spend.mean() |
| |
| |
| def spend_zero_mean(spend: pd.Series, spend_mean: float) -> pd.Series: |
| """Shows function that takes a scalar. In this case to zero mean spend.""" |
| return spend - spend_mean |
| |
| |
| def spend_std_dev(spend: pd.Series) -> float: |
| """Function that computes the standard deviation of the spend column.""" |
| return spend.std() |
| |
| |
| def spend_zero_mean_unit_variance(spend_zero_mean: pd.Series, spend_std_dev: float) -> pd.Series: |
| """Function showing one way to make spend have zero mean and unit variance.""" |
| return spend_zero_mean / spend_std_dev |