def genDataFrame(sizeMat, lowBound, uppderBound, numRep, numZeros, numNans, numInfs):
    '''
    This function will generate an H2OFrame of two columns.  One column will be float and the other will
    be long.
    
    :param sizeMat: integer denoting size of bounds
    :param lowBound: lower bound
    :param uppderBound: 
    :param trueRandom: 
    :param numRep: number of times to repeat arrays in order to generate duplicated rows
    :param numZeros: 
    :param numNans: 
    :param numInfs: 
    :return: 
    '''
    if (numNans > 0):
        floatA = [float('NaN')]*numNans
        intA = [float('NaN')]*numNans

    if (numInfs > 0):
        floatA.extend([float('inf')]*numInfs)
        intA.extend([float('inf')]*numInfs)
        floatA.extend([-1.0*float('inf')]*numInfs)
        intA.extend([-1*float('inf')]*numInfs)

    # first generate the zeros into floatA and intA.  Multiply them with +/-1 to mess them up a little
    for index in range(numZeros):
        floatA.append(0.0*randint(-1,1))
        intA.append(0*randint(-1,1))

    # next generate +/- integers or various magnitude
    for rad in sizeMat:
        tempInt = pow(2,rad)
        tempIntN = pow(2,rad+1)
        intA.append(tempInt)
        intA.append(-1*tempInt)
        randInt = randint(tempInt, tempIntN)    # randomly generated integer, add both +/- values
        intA.append(randInt)
        intA.append(-1*randInt)
        intA.append(randint(tempInt, tempIntN))     # randomly generated integer
        intA.append(-1*(randint(tempInt, tempIntN)))    # randomly generated negative integer

        floatA.append(tempInt*1.0)
        floatA.append(-1.0*tempInt)
        tempD = uniform(tempInt, tempIntN)
        floatA.append(tempD)
        floatA.append(-1.0*tempD)
        floatA.append(uniform(tempInt, tempIntN))
        floatA.append(-1.0*uniform(tempInt, tempIntN))
def genDataFrame(sizeMat, lowBound, uppderBound, numRep, numZeros, numNans, numInfs):
    '''
    This function will generate an H2OFrame of two columns.  One column will be float and the other will
    be long.
    
    :param sizeMat: integer denoting size of bounds
    :param lowBound: lower bound
    :param uppderBound: 
    :param trueRandom: 
    :param numRep: number of times to repeat arrays in order to generate duplicated rows
    :param numZeros: 
    :param numNans: 
    :param numInfs: 
    :return: 
    '''
    if (numNans > 0):
        floatA = [float('NaN')]*numNans
        intA = [float('NaN')]*numNans

    if (numInfs > 0):
        floatA.extend([float('inf')]*numInfs)
        intA.extend([float('inf')]*numInfs)
        floatA.extend([-1.0*float('inf')]*numInfs)
        intA.extend([-1*float('inf')]*numInfs)

    # first generate the zeros into floatA and intA.  Multiply them with +/-1 to mess them up a little
    for index in range(numZeros):
        floatA.append(0.0*randint(-1,1))
        intA.append(0*randint(-1,1))

    # next generate +/- integers or various magnitude
    for rad in sizeMat:
        tempInt = pow(2,rad)
        tempIntN = pow(2,rad+1)
        intA.append(tempInt)
        intA.append(-1*tempInt)
        randInt = randint(tempInt, tempIntN)    # randomly generated integer, add both +/- values
        intA.append(randInt)
        intA.append(-1*randInt)
        intA.append(randint(tempInt, tempIntN))     # randomly generated integer
        intA.append(-1*(randint(tempInt, tempIntN)))    # randomly generated negative integer

        floatA.append(tempInt*1.0)
        floatA.append(-1.0*tempInt)
        tempD = uniform(tempInt, tempIntN)
        floatA.append(tempD)
        floatA.append(-1.0*tempD)
        floatA.append(uniform(tempInt, tempIntN))
        floatA.append(-1.0*uniform(tempInt, tempIntN))
def genDataFrame ( sizeMat , lowBound , uppderBound , numRep , numZeros , numNans , numInfs ) : if ( numNans > 0 ) : floatA = [ float ( 'NaN' ) ] * numNans intA = [ float ( 'NaN' ) ] * numNans if ( numInfs > 0 ) : floatA . extend ( [ float ( 'inf' ) ] * numInfs ) intA . extend ( [ float ( 'inf' ) ] * numInfs ) floatA . extend ( [ - 1.0 * float ( 'inf' ) ] * numInfs ) intA . extend ( [ - 1 * float ( 'inf' ) ] * numInfs ) # first generate the zeros into floatA and intA.  Multiply them with +/-1 to mess them up a little for index in range ( numZeros ) : floatA . append ( 0.0 * randint ( - 1 , 1 ) ) intA . append ( 0 * randint ( - 1 , 1 ) ) # next generate +/- integers or various magnitude for rad in sizeMat : tempInt = pow ( 2 , rad ) tempIntN = pow ( 2 , rad + 1 ) intA . append ( tempInt ) intA . append ( - 1 * tempInt ) randInt = randint ( tempInt , tempIntN ) # randomly generated integer, add both +/- values intA . append ( randInt ) intA . append ( - 1 * randInt ) intA . append ( randint ( tempInt , tempIntN ) ) # randomly generated integer intA . append ( - 1 * ( randint ( tempInt , tempIntN ) ) ) # randomly generated negative integer floatA . append ( tempInt * 1.0 ) floatA . append ( - 1.0 * tempInt ) tempD = uniform ( tempInt , tempIntN ) floatA . append ( tempD ) floatA . append ( - 1.0 * tempD ) floatA . append ( uniform ( tempInt , tempIntN ) ) floatA . append ( - 1.0 * uniform ( tempInt , tempIntN ) )
This function will generate an H2OFrame of two columns.  One column will be float and the other will
    be long.
    
    :param sizeMat: integer denoting size of bounds
    :param lowBound: lower bound
    :param uppderBound: 
    :param trueRandom: 
    :param numRep: number of times to repeat arrays in order to generate duplicated rows
    :param numZeros: 
    :param numNans: 
    :param numInfs: 
    :return:
This function will generate an H2OFrame of two columns . One column will be float and the other will be long . : param sizeMat : integer denoting size of bounds : param lowBound : lower bound : param uppderBound : : param trueRandom : : param numRep : number of times to repeat arrays in order to generate duplicated rows : param numZeros : : param numNans : : param numInfs : : return :