def shortData(self, evt):
        functionName = "short"
        useNumpy = False
        requiredcols = None
        group = lambda x, y: (x, y)
        setting = self.defaultDialogSettings
        setting["Title"] = functionName
        setting["_size"] = wx.Size(220, 200)
        ColumnList, colnums = wx.GetApp().frame.grid.GetUsedCols()
        bt1 = group("StaticText", ("Select the column to short",))
        bt2 = group("Choice", (ColumnList,))
        structure = list()
        structure.append([bt1, ])
        structure.append([bt2, ])
        dlg = dialog(settings=setting, struct=structure)
        if dlg.ShowModal() == wx.ID_OK:
            values = dlg.GetValue()
            dlg.Destroy()
        else:
            dlg.Destroy()
            return
            # -------------------
        # changing value strings to numbers
        colNameSelect = values[0]
        if len(colNameSelect) == 0:
            self.logPanel.write("You haven't selected any items!")
            return

        if len(colNameSelect) < None:
            self.logPanel.write("You have to select at least %i columns" % requiredcols)
            return

        values = [[pos for pos, value in enumerate(ColumnList)
                   if value == val
                  ][0]
                  for val in colNameSelect
        ]
        # -------------------
        if useNumpy:
            colums = list()
            for pos in values:
                short = stats.shellsort(self.grid.CleanData(colnums[pos]))[0]
                col = numpy.array(short)
                col.shape = (len(col), 1)
                colums.append(col)
        else:
            colums = stats.shellsort(self.grid.CleanData(colnums[values[0]]))

        # se muestra los resultados
        # wx.GetApp().output.addColData(colNameSelect, functionName)
        # wx.GetApp().output.addColData(colums[0])
        # wx.GetApp().output.addColData(colums[1])
        # wx.GetApp().output.addRowData(['',"shorted Data","original position"], currRow= 0)
        wx.GetApp().grid.PutCol(colNameSelect, colums[0])
        # wx.GetApp().grid.PutCol(colums[0])
        # wx.GetApp().grid.PutCol(colums[1])
        self.logPanel.write(functionName + " successful")
예제 #2
0
 def test_shellsort(self):
     "Testing shellsort"
     
     result = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 34]
     
     i = 0
     for f in result: # we'll look at the first results only
        self.EQ( stats.shellsort( self.M )[0][i], f )
        i += 1 
예제 #3
0
 def test_shellsort(self):
     "Testing shellsort"
     
     result = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 34]
     
     i = 0
     for f in result: # we'll look at the first results only
        self.EQ( stats.shellsort( self.M )[0][i], f )
        i += 1 
예제 #4
0
m = list(range(4, 24))
m[10] = 34
b = N.array(m)

print('\n\nF_oneway:')
print(stats.F_oneway(l, m))
print(stats.F_oneway(a, b))
#print 'F_value:',stats.F_value(l),stats.F_value(a)

print('\nSUPPORT')
print('sum:', stats.sum(l), stats.sum(lf), stats.sum(a), stats.sum(af))
print('cumsum:')
print(stats.cumsum(l))
print(stats.cumsum(lf))
print(stats.cumsum(a))
print(stats.cumsum(af))
print('ss:', stats.ss(l), stats.ss(lf), stats.ss(a), stats.ss(af))
print('summult:', stats.summult(l, m), stats.summult(lf, m),
      stats.summult(a, b), stats.summult(af, b))
print('sumsquared:', stats.square_of_sums(l), stats.square_of_sums(lf),
      stats.square_of_sums(a), stats.square_of_sums(af))
print('sumdiffsquared:', stats.sumdiffsquared(l, m),
      stats.sumdiffsquared(lf, m), stats.sumdiffsquared(a, b),
      stats.sumdiffsquared(af, b))
print('shellsort:')
print(stats.shellsort(m))
print(stats.shellsort(b))
print('rankdata:')
print(stats.rankdata(m))
print(stats.rankdata(b))
예제 #5
0
a = N.array(l)
ll = [l]*5
aa = N.array(ll)

m = range(4,24)
m[10] = 34 
b = N.array(m)

print '\n\nF_oneway:'
print stats.F_oneway(l,m) 
print stats.F_oneway(a,b)
#print 'F_value:',stats.F_value(l),stats.F_value(a)

print '\nSUPPORT'
print 'sum:',stats.sum(l),stats.sum(lf),stats.sum(a),stats.sum(af)
print 'cumsum:'
print stats.cumsum(l)
print stats.cumsum(lf)
print stats.cumsum(a)
print stats.cumsum(af)
print 'ss:',stats.ss(l),stats.ss(lf),stats.ss(a),stats.ss(af)
print 'summult:',stats.summult(l,m),stats.summult(lf,m),stats.summult(a,b),stats.summult(af,b)
print 'sumsquared:',stats.square_of_sums(l),stats.square_of_sums(lf),stats.square_of_sums(a),stats.square_of_sums(af)
print 'sumdiffsquared:',stats.sumdiffsquared(l,m),stats.sumdiffsquared(lf,m),stats.sumdiffsquared(a,b),stats.sumdiffsquared(af,b)
print 'shellsort:'
print stats.shellsort(m)
print stats.shellsort(b)
print 'rankdata:'
print stats.rankdata(m)
print stats.rankdata(b)
예제 #6
0
m = range(4, 24)
m[10] = 34
b = N.array(m)

print '\n\nF_oneway:'
print stats.F_oneway(l, m)
print stats.F_oneway(a, b)
#print 'F_value:',stats.F_value(l),stats.F_value(a)

print '\nSUPPORT'
print 'sum:', stats.sum(l), stats.sum(lf), stats.sum(a), stats.sum(af)
print 'cumsum:'
print stats.cumsum(l)
print stats.cumsum(lf)
print stats.cumsum(a)
print stats.cumsum(af)
print 'ss:', stats.ss(l), stats.ss(lf), stats.ss(a), stats.ss(af)
print 'summult:', stats.summult(l, m), stats.summult(lf, m), stats.summult(
    a, b), stats.summult(af, b)
print 'sumsquared:', stats.square_of_sums(l), stats.square_of_sums(
    lf), stats.square_of_sums(a), stats.square_of_sums(af)
print 'sumdiffsquared:', stats.sumdiffsquared(l, m), stats.sumdiffsquared(
    lf, m), stats.sumdiffsquared(a, b), stats.sumdiffsquared(af, b)
print 'shellsort:'
print stats.shellsort(m)
print stats.shellsort(b)
print 'rankdata:'
print stats.rankdata(m)
print stats.rankdata(b)