Пример #1
0
 def _eager(self, pytmp=True):
   if not self._computed:
     # top-level call to execute all subparts of self._ast
     sb = self._ast._eager()
     if pytmp:
       h2o.rapids(ExprNode._collapse_sb(sb), self._id)
       sb = ["%", self._id," "]
       self._update()   # fill out _nrows, _ncols, _col_names, _computed
     return sb
Пример #2
0
 def _eager(self, pytmp=True):
   if not self._computed:
     # top-level call to execute all subparts of self._ast
     sb = self._ast._eager()
     if pytmp:
       res = h2o.rapids(ExprNode._collapse_sb(sb), self._id)
       # t = res["result_type"]
       # if t in [1,3]:   sb = ["#{} ".format(res["scalar"])]
       # elif t in [2,4]: sb = ["\"{}\"".format(res["string"])]
       sb = ["%", self._id," "]
       self._update()   # fill out _nrows, _ncols, _col_names, _computed
     return sb
Пример #3
0
def rapids(expr, id=None):
  """
  Fire off a Rapids expression.

  :param expr: The rapids expression (ascii string).
  :return: The JSON response of the Rapids execution
  """
  if isinstance(expr, list): expr = ExprNode._collapse_sb(expr)
  expr = "(= !{} {})".format(id,expr) if id is not None else expr
  result = H2OConnection.post_json("Rapids", ast=urllib.quote(expr), _rest_version=99)
  if result['error'] is not None:
    raise EnvironmentError("rapids expression not evaluated: {0}".format(str(result['error'])))
  return result
Пример #4
0
  def __setitem__(self, b, c):
    """
    Replace a column in an H2OFrame.

    :param b: A 0-based index or a column name.
    :param c: The vector that 'b' is replaced with.
    :return: Returns this H2OFrame.
    """
    update_index=-1
    if isinstance(b, (str,unicode)): update_index=self.col_names().index(b) if b in self.col_names() else self._ncols
    elif isinstance(b, int): update_index=b
    lhs = ExprNode("[", self, b, None) if isinstance(b,H2OFrame) else ExprNode("[", self, None, update_index)
    rhs = c._frame() if isinstance(c,H2OFrame) else c
    col_name = b if (update_index==self._ncols and isinstance(b, (str, unicode))) else ( c._col_names[0] if isinstance(c, H2OFrame) else "" )
    sb  = ExprNode(",", ExprNode("=",lhs,rhs), ExprNode("colnames=",self,update_index,col_name))._eager() if update_index >= self.ncol() else ExprNode("=",lhs,rhs)._eager()
    h2o.rapids(ExprNode._collapse_sb(sb))
    self._update()
Пример #5
0
 def cbind(self,data):
   """
   :param data: H2OFrame or H2OVec to cbind to self
   :return: void
   """
   return H2OFrame(expr=ExprNode("cbind", False, self, data))
Пример #6
0
 def any(self,na_rm=False):
   """
   :return: True if any element is True in the column.
   """
   return H2OFrame(expr=ExprNode("any",self,na_rm))._scalar()
Пример #7
0
 def isnumeric(self):
   """
   :return: True if the column is numeric, otherwise return False
   """
   return H2OFrame(expr=ExprNode("is.numeric",self))._scalar()
Пример #8
0
 def cumsum(self):
   """
   :return: The cumulative sum over the column.
   """
   return H2OFrame(expr=ExprNode("cumsum",self))
Пример #9
0
 def cummax(self):
   """
   :return: The cumulative max over the column.
   """
   return H2OFrame(expr=ExprNode("cummax",self))
Пример #10
0
 def sign(self)    :    return H2OFrame(expr=ExprNode("sign", self))
 def sqrt(self)    :    return H2OFrame(expr=ExprNode("sqrt", self))
Пример #11
0
 def digamma(self) :    return H2OFrame(expr=ExprNode("digamma", self))
 def trigamma(self):    return H2OFrame(expr=ExprNode("trigamma", self))
Пример #12
0
 def tanpi(self)   :    return H2OFrame(expr=ExprNode("tanpi", self))
 def abs(self)     :    return H2OFrame(expr=ExprNode("abs", self))
Пример #13
0
 def abs(self)     :    return H2OFrame(expr=ExprNode("abs", self))
 def sign(self)    :    return H2OFrame(expr=ExprNode("sign", self))
Пример #14
0
 def sinpi(self)   :    return H2OFrame(expr=ExprNode("sinpi", self))
 def tanpi(self)   :    return H2OFrame(expr=ExprNode("tanpi", self))
Пример #15
0
 def cospi(self)   :    return H2OFrame(expr=ExprNode("cospi", self))
 def sinpi(self)   :    return H2OFrame(expr=ExprNode("sinpi", self))
Пример #16
0
 def atanh(self)   :    return H2OFrame(expr=ExprNode("atanh", self))
 def cospi(self)   :    return H2OFrame(expr=ExprNode("cospi", self))
Пример #17
0
 def asinh(self)   :    return H2OFrame(expr=ExprNode("asinh", self))
 def atanh(self)   :    return H2OFrame(expr=ExprNode("atanh", self))
Пример #18
0
 def sqrt(self)    :    return H2OFrame(expr=ExprNode("sqrt", self))
 def trunc(self)   :    return H2OFrame(expr=ExprNode("trunc", self))
Пример #19
0
 def gamma(self)   :    return H2OFrame(expr=ExprNode("gamma", self))
 def lgamma(self)  :    return H2OFrame(expr=ExprNode("lgamma", self))
Пример #20
0
 def trunc(self)   :    return H2OFrame(expr=ExprNode("trunc", self))
 def ceil(self)    :    return H2OFrame(expr=ExprNode("ceiling", self))
Пример #21
0
  def trigamma(self):    return H2OFrame(expr=ExprNode("trigamma", self))


  @staticmethod
Пример #22
0
 def ceil(self)    :    return H2OFrame(expr=ExprNode("ceiling", self))
 def floor(self)   :    return H2OFrame(expr=ExprNode("floor", self))
Пример #23
0
 def cumprod(self):
   """
   :return: The cumulative product over the column.
   """
   return H2OFrame(expr=ExprNode("cumprod",self))
Пример #24
0
 def floor(self)   :    return H2OFrame(expr=ExprNode("floor", self))
 def log(self)     :    return H2OFrame(expr=ExprNode("log", self))
Пример #25
0
 def prod(self,na_rm=False):
   """
   :return: The product of the column.
   """
   return H2OFrame(expr=ExprNode("prod",self,na_rm))._scalar()
Пример #26
0
 def log10(self)   :    return H2OFrame(expr=ExprNode("log10", self))
 def log1p(self)   :    return H2OFrame(expr=ExprNode("log1p", self))
Пример #27
0
 def all(self):
   """
   :return: True if every element is True in the column.
   """
   return H2OFrame(expr=ExprNode("all",self,False))._scalar()
Пример #28
0
 def log2(self)    :    return H2OFrame(expr=ExprNode("log2", self))
 def exp(self)     :    return H2OFrame(expr=ExprNode("exp", self))
Пример #29
0
 def isstring(self):
   """
   :return: True if the column is a string column, otherwise False (same as ischaracter)
   """
   return H2OFrame(expr=ExprNode("is.character",self))._scalar()
Пример #30
0
 def sinh(self)    :    return H2OFrame(expr=ExprNode("sinh", self))
 def tanh(self)    :    return H2OFrame(expr=ExprNode("tanh", self))
Пример #31
0
 def min(self):
   """
   :return: The minimum value of all frame entries
   """
   return H2OFrame(expr=ExprNode("min", self))._scalar()
Пример #32
0
 def expm1(self)   :    return H2OFrame(expr=ExprNode("expm1", self))
 def gamma(self)   :    return H2OFrame(expr=ExprNode("gamma", self))
Пример #33
0
 def exp(self)     :    return H2OFrame(expr=ExprNode("exp", self))
 def expm1(self)   :    return H2OFrame(expr=ExprNode("expm1", self))
Пример #34
0
 def tanh(self)    :    return H2OFrame(expr=ExprNode("tanh", self))
 def acosh(self)   :    return H2OFrame(expr=ExprNode("acosh", self))