def get_filtered_nodes(Goriginal, PARAMS):

    size = PARAMS['sample_size']
    sample_using = PARAMS['sampling_technique']
    node_list = []

    degrees = Goriginal.degree(list(Goriginal.node))
    node_deg_asc = sorted(degrees.items(), key=itg(1))
    node_deg_desc = sorted(degrees.items(), key=itg(1), reverse=True)
    deg_asc = [i[1] for i in node_deg_asc]
    node_desc = [i[0] for i in node_deg_desc]

    if sample_using == "DegreeMin":
        median = int(math.ceil(np.median(deg_asc)))
        start_pos = 0
        for i in node_deg_asc:
            if i[1] == median:
                start_pos = i[0]
                break
        node_asc = [i[0] for i in node_deg_asc]
        node_list = node_asc[start_pos:][:size]

    elif sample_using == "DegreeMax":
        node_list = node_desc[:size]

    display(
        "get_filtered_nodes", "Sampling done using " + sample_using +
        "; node list size is " + str(len(node_list)) + ".")

    return node_list
def deg_dist(G):
    degrees = G.degree(list(G.node))
    node_deg_asc = sorted(degrees.items(), key=itg(1))
    node_deg_desc = sorted(degrees.items(), key=itg(1), reverse=True)
    deg_asc = [i[1] for i in node_deg_asc]
    deg_desc = [i[1] for i in node_deg_desc]
    print "ASC:\n"
    print deg_asc
    print "DESC: \n"
    print deg_desc
    print "Median: " + str(median(deg_asc))
    print "Mean: " + str(mean(deg_asc))
    return
Exemplo n.º 3
0
def top_matches(sim, wds, n, skip=[]):
    sk = set(skip)
    N = n + len(sk)
    ixs = np.argpartition(sim, -N)[-N:]
    res = sim[ixs]
    sim_, wds_ = sim[ixs], wds[ixs]
    return sorted([(s, w) for s, w in zip(sim_, wds_) if w not in sk], key=itg(0), reverse=1)[:n]
Exemplo n.º 4
0
def extract_ctr_children_sum(doc: Tabs_doc) -> Dict[Tab_num, Disp_dur]:
    default = {'dispatchCount': np.nan, 'duration': np.nan}

    def reduce_children(chs: List[Disp_dur]):
        # TODO: extract host info?
        disp_durs = lmap(extract_dur_disp_tab, chs)
        return reduce_keys(op.add, disp_durs) or default

    tab_docs = z.valmap(z.compose(reduce_children, itg('children')), doc)
    return tab_docs
Exemplo n.º 5
0
Arquivo: views.py Projeto: ckwear/hnfd
def ResultTwo(request):
    # return HttpResponse('wejfiowef')
    print(request.GET.get('send_date'))
    # choice_odr_ppr = OrderPaper.objects.filter(due_date=request.GET.get('send_date'), factory_num=request.GET.get('send_factoy_num'), subdivision=request.GET.get('send_sub'))
    # for item in choice_odr_ppr:
    #     print(item)
    # cursor_one = connection.cursor()
    # cnt1 = cursor_one.execute("SELECT * FROM order_paper where due_date='{0}' and factory_num='{1}' and subdivision='{2}';".format(request.GET.get('send_date'), request.GET.get('send_factoy_num'), '1차'))
    # first_ordpp_qry = cursor_one.fetchall()

    # cursor_two = connection.cursor()
    # cnt2 = cursor_two.execute("SELECT * FROM order_paper where due_date='{0}' and factory_num='{1}' and subdivision='{2}';".format(request.GET.get('send_date'), request.GET.get('send_factoy_num'), '2차'))
    # second_ordpp_qry = cursor_two.fetchall()
    # zz = list(map(itg(24), first_ordpp_qry))
    # zzz = list(map(itg(24), second_ordpp_qry))
    # # print(zz)
    # # print(zzz)
    # rst_list = []
    # for pp_one_item in first_ordpp_qry:
    #     pp_one_item = list(pp_one_item)
    #     for pp_two_item in second_ordpp_qry:
    #         pp_two_item = list(pp_two_item)
    #         if pp_one_item[24]==pp_two_item[24]:
    #             if pp_one_item[15] == pp_two_item[16]:
    #                 pp_two_item.append(0)
                    
    #             elif pp_one_item[15] > pp_two_item[16]:
    #                 pp_two_item.append(-1)
    #             elif pp_one_item[15] < pp_two_item[16]:
    #                 pp_two_item.append(1)
    #             print(pp_two_item)
    #             break

    date = request.GET.get('send_date')
    date += ' 00:00:00'
    factory_num = request.GET.get('send_factoy_num')
    sub = request.GET.get('send_sub')
    culoms = ['order_num', 'input', 'cmpy_name', 'delivery_part', 'unit', 'item_name', 'zone', 'order_value', 'box_num', 'box', 'pac', 'due_date', 'factory_num', 'sub']
    sql = '''
        SELECT op.order_num, max(op.input), max(op.cmpy_name), max(op.delivery_part), max(op.unit), max(op.item_name), max(op.zone), max(op.order_value), max(it.pac_num),

        sum(CASE
        	WHEN it.unit = 'BOX' AND op.delivery_part='배송' THEN op.order_value
        	WHEN it.unit = 'PAC' AND op.delivery_part='배송' THEN op.order_value DIV it.pac_num
        	WHEN it.unit = 'EA'  AND op.delivery_part='배송' THEN (op.order_value DIV it.ea_num) DIV it.pac_num
        	WHEN it.unit = 'KG'  AND op.delivery_part='배송' THEN (op.order_value DIV it.kg_num) DIV it.pac_num
        	WHEN op.delivery_part='직송' THEN 0
        	ELSE 0
        END)
        box, sum(
        	CASE WHEN op.delivery_part='배송' THEN
        		(CASE
        			WHEN it.unit = 'BOX' THEN 0
        			WHEN it.unit = 'PAC' THEN op.order_value MOD it.pac_num
        			WHEN it.unit = 'EA'  THEN (op.order_value DIV it.ea_num) MOD it.pac_num
        			WHEN it.unit = 'KG'  THEN (op.order_value DIV it.kg_num) MOD it.pac_num
        			ELSE 0
        		end)
        	ELSE 0
        end
        ) pac, max(op.due_date), max(op.factory_num), max(op.subdivision), max(op.inh_code), max(op.item_code)
        FROM order_paper AS op, item AS it
        WHERE op.due_date='{0}' AND  op.factory_num='{1}' AND op.subdivision='{2}' AND op.item_code=it.item_code
        GROUP BY op.item_code,  op.order_num WITH rollup
        
    '''.format(date, factory_num, '1차')
    cursor = connection.cursor()
    cnt = cursor.execute(sql)
    result_one_paper = cursor.fetchall()
    sql = '''
        SELECT op.order_num, max(op.input), max(op.cmpy_name), max(op.delivery_part), max(op.unit), max(op.item_name), max(op.zone), max(op.order_value), max(it.pac_num),

        sum(CASE
        	WHEN it.unit = 'BOX' AND op.delivery_part='배송' THEN op.order_value
        	WHEN it.unit = 'PAC' AND op.delivery_part='배송' THEN op.order_value DIV it.pac_num
        	WHEN it.unit = 'EA'  AND op.delivery_part='배송' THEN (op.order_value DIV it.ea_num) DIV it.pac_num
        	WHEN it.unit = 'KG'  AND op.delivery_part='배송' THEN (op.order_value DIV it.kg_num) DIV it.pac_num
        	WHEN op.delivery_part='직송' THEN 0
        	ELSE 0
        END)
        box, sum(
        	CASE WHEN op.delivery_part='배송' THEN
        		(CASE
        			WHEN it.unit = 'BOX' THEN 0
        			WHEN it.unit = 'PAC' THEN op.order_value MOD it.pac_num
        			WHEN it.unit = 'EA'  THEN (op.order_value DIV it.ea_num) MOD it.pac_num
        			WHEN it.unit = 'KG'  THEN (op.order_value DIV it.kg_num) MOD it.pac_num
        			ELSE 0
        		end)
        	ELSE 0
        end
        ) pac, max(op.due_date), max(op.factory_num), max(op.subdivision),max(op.inh_code), max(op.item_code)
        FROM order_paper AS op, item AS it
        WHERE op.due_date='{0}' AND  op.factory_num='{1}' AND op.subdivision='{2}' AND op.item_code=it.item_code
        GROUP BY op.item_code,  op.order_num WITH rollup
    '''.format(date, factory_num, '2차')
    cursor = connection.cursor()
    cnt = cursor.execute(sql)
    result_two_paper = cursor.fetchall()
    # pd.set_option('display.max_row', 500)
    # print(pd.DataFrame(result_one_paper))
    # print(result_two_paper)
    #2019-12-23 y1-2
    result_one_paper = list(result_one_paper)
    result_two_paper = list(result_two_paper)
    rst_list = []
    rst_it = []
    print(result_one_paper[0][14])
    while result_one_paper:
        if result_one_paper[0][0] == None:
            it = result_one_paper.pop(0)
            rst_it.append(it)
            # print(it)


        if result_two_paper[0][0] == None:
            it = result_two_paper.pop(0)
            rst_it.append(it)
            # print(it)

        # if result_one_paper[0][0] == None:
        #     it = result_one_paper.pop(0)
        #     rst_it.append(it)


        # if result_two_paper[0][0] == None:
        #     it = result_two_paper.pop(0)
        #     rst_it.append(it)
        
        if result_one_paper[0][14] == result_two_paper[0][14]:
            it = result_one_paper.pop(0)
            result_two_paper.pop(0)
            lst_it = list(it)
            lst_it.append(0)
            rst_list.append(lst_it)           

        else:
            chk_loop = 0
            for two_it_loop in range(1, len(result_two_paper)):
                if result_one_paper[0][14] == result_two_paper[two_it_loop][14] and result_two_paper[two_it_loop][0] != None:
                    chk_loop = 1
                    it = result_one_paper.pop(0)
                    result_two_paper.pop(0)

                    lst_it = list(it)
                    lst_it.append(0)
                    rst_list.append(lst_it)
                    break

            if chk_loop == 0:
                it = result_one_paper.pop(0)
                lst_it = list(it) 
                lst_it.append(-2)
                rst_list.append(lst_it)


    # rst_list = []

    # while result_one_paper:


    #     if result_one_paper[0][14] == result_two_paper[0][14] and result_one_paper[0][0] == result_two_paper[0][0] and result_one_paper[0][12] == result_two_paper[0][12]:
    #         if result_one_paper[0][0] != None and result_two_paper[0][0] != None:
    #             it = result_one_paper.pop(0)
    #             result_two_paper.pop(0)
    #             lst_it = list(it)
    #             lst_it.append(0)
    #             rst_list.append(lst_it)
    #         else:
    #             it1 = result_one_paper.pop(0)
    #             it2 = result_two_paper.pop(0)
    #             lst_it1 = list(it1)
    #             lst_it1.append(10)
    #             rst_list.append(lst_it1)
    #             lst_it2 = list(it2)
    #             lst_it2.append(0)
    #             rst_list.append(lst_it2)                  

    #     else:
    #         chk_loop = 0
    #         # for two_it_loop in range(len(result_two_paper)):
    #         #     if result_one_paper[0][14] == result_two_paper[two_it_loop][14]:
    #         #         chk_loop = 1
    #         #         new_it = [result_two_paper.pop(0) for i in range(two_it_loop)]
    #         #         new_it = [list(it) for it in new_it]
    #         #         [it.append(20) if it[0] == None else it.append(2) for it in new_it]
    #         #         # print(new_it)
    #         #         [rst_list.append(it) for it in new_it]
    #         #         it = result_one_paper.pop(0)
    #         #         if it[0] != None:
    #         #             result_two_paper.pop(0)
    #         #             lst_it = list(it)
    #         #             lst_it.append(0)
    #         #             rst_list.append(lst_it)
    #         #         else:
    #         #             result_two_paper.pop(0)
    #         #             lst_it = list(it)
    #         #             lst_it.append(20)
    #         #             rst_list.append(lst_it)  
    #         #         break
    #         for two_it_loop in range(1, len(result_two_paper)):
    #             if result_one_paper[0][14] == result_two_paper[two_it_loop][14]:
    #                 chk_loop = 1
    #                 it = result_one_paper.pop(0)
    #                 result_two_paper.pop(0)
    #                 if it[0] != None:
    #                     lst_it = list(it)
    #                     lst_it.append(0)
    #                     rst_list.append(lst_it)
    #                 else:
    #                     lst_it = list(it)
    #                     lst_it.append(10)
    #                     rst_list.append(lst_it)  
    #                 break

    #         if chk_loop == 0:
    #             it = result_one_paper.pop(0)
    #             if it[0] != None:
    #                 lst_it = list(it) 
    #                 lst_it.append(-2)
    #                 rst_list.append(lst_it)
    #             else:
    #                 lst_it = list(it)
    #                 lst_it.append(10)
    #                 rst_list.append(lst_it) 


    while result_two_paper:
        it = result_two_paper.pop(0)
        lst_it = list(it)
        lst_it.append(2)
        rst_list.append(lst_it)



    # while result_two_paper:
    #     it = result_two_paper.pop(0)
    #     if it[0] != None:
    #         lst_it = list(it)
    #         lst_it.append(2)
    #         rst_list.append(lst_it)
    #     else:
    #         lst_it = list(it)
    #         lst_it.append(20)
    #         rst_list.append(lst_it)  

    # print(rst_list)
    getter_item_code = set(map(itg(15), rst_list))
    getter_item_code = list(getter_item_code)
    new_rst_list = []
    # print(getter_item_code)
    while getter_item_code:
        it_code = getter_item_code.pop(0)
        item_group = []
        for it in rst_list:
            if it[15] == it_code:
                item_group.append(it)
        
        for i, it in enumerate(item_group):
            if it[16] == 10:
                temp = item_group[i]
                item_group[i] = item_group[len(item_group)-3]
                item_group[len(item_group)-3] = temp 
            if it[16] == 20:
                temp = item_group[i]
                item_group[i] = item_group[len(item_group)-2]
                item_group[len(item_group)-2] = temp

        new_rst_list += item_group
                


    # one_pp_loop = 0
    # two_pp_loop = 0
    # save_two_pp_loop = 0
    # for one_pp_loop in range(len(result_one_paper)):
    #     for two_pp_loop in range(save_two_pp_loop, len(result_two_paper)):
    #         if result_one_paper[one_pp_loop][0] != None and result_two_paper[two_pp_loop][0] != None:
    #             if result_one_paper[one_pp_loop][14] == result_two_paper[two_pp_loop][14]:
    #                 temp = list(result_two_paper[one_pp_loop])
    #                 temp.append(0)
    #                 rst_list.append(temp)
    #                 save_two_pp_loop +=1 

    #                 break
    #         if result_two_paper[two_pp_loop][0] == None:
    #             temp = list(result_one_paper[one_pp_loop])
    #             temp.append(-2)
    #             rst_list.append(temp)
    #             break
    #         if result_two_paper[two_pp_loop][0] == None:
    
    # print(rst_list)
    pd.set_option('display.max_row', 500)
    rst = pd.DataFrame(new_rst_list)
    # rst = pd.DataFrame(rst_list)

    # print(rst)
    # rst.to_excel('rst.xlsx')
    return JsonResponse({'cnt' : 'wefwef'})