code: def diplus(f, p=14):
      r"""Calculate the Plus Directional Indicator (+DI).
  
      Parameters
      ----------
      f : pandas.DataFrame
          Dataframe with columns ``high`` and ``low``.
      p : int
          The period over which to calculate the +DI.
  
      Returns
      -------
      new_column : pandas.Series (float)
          The array containing the new feature.
  
      References
      ----------
      *A component of the average directional index (ADX) that is used to
      measure the presence of an uptrend. When the +DI is sloping upward,
      it is a signal that the uptrend is getting stronger* [IP_PDI]_.
  
      .. [IP_PDI] http://www.investopedia.com/terms/p/positivedirectionalindicator.asp
  
      """
      tr = "truerange"
      vexec(f, tr)
      atr = USEP.join(["atr", str(p)])
      vexec(f, atr)
      dmp = "dmplus"
      vexec(f, dmp)
      new_column = 100 * f[dmp].ewm(span=p).mean() / f[atr]
      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 8 for calling a global function with example usage: diplus(f, p) and returns: new_column