code: def ma(f, c, p=20):
      r"""Calculate the mean on a rolling basis.
  
      Parameters
      ----------
      f : pandas.DataFrame
          Dataframe containing the column ``c``.
      c : str
          Name of the column in the dataframe ``f``.
      p : int
          The period over which to calculate the rolling mean.
  
      Returns
      -------
      new_column : pandas.Series (float)
          The array containing the new feature.
  
      References
      ----------
      *In statistics, a moving average (rolling average or running average)
      is a calculation to analyze data points by creating series of averages
      of different subsets of the full data set* [WIKI_MA]_.
  
      .. [WIKI_MA] https://en.wikipedia.org/wiki/Moving_average
  
      """
      new_column = f[c].rolling(p).mean()
      return new_column
  
imports: from alphapy.calendrical import biz_day_month
  from alphapy.calendrical import biz_day_week
  from alphapy.globals import NULLTEXT
  from alphapy.globals import BSEP, PSEP, USEP
  from alphapy.variables import vexec
  import itertools
  import logging
  import math
  import numpy
  import pandas
label_desc: Use image node_id 29 for calling a global function with example usage: ma(f, c, p) and returns: new_column