def calculate_mas()

in flask/utils.py [0:0]


def calculate_mas(metric, data, window):
    """
    Returns moving average metrics across specified interval for records of data
    :param metric: Metric of interest (string)
    :param data: Metric's DataFrame
    :param window: The sliding interval (integer)
    :return: A DataFrame
    """
    timestamp = data['Timestamp']
    obs = data[metric]
    mean = obs.rolling(window).mean()
    std = obs.rolling(window).std()
    var = obs.rolling(window).var()
    for i in range(0, window):
        if i < window:
            try:
                mean[i] = obs[0:i + 2].mean()
                std[i] = obs[0:i + 2].std()
                var[i] = obs[0:i + 2].var()
            except TypeError:
                continue
    diff_m = obs - mean
    metric_stats = pd.DataFrame.from_dict(
        {'obs': obs, 'mav': mean, 'diff_m': diff_m, 'mstd': std, 'mvar': var, 'timestamp': timestamp})
    metric_stats['timestamp'] = pd.to_datetime(metric_stats['timestamp'])
    return metric_stats