обновлять фрейм данных после каждого цикла в цикле while - PullRequest
0 голосов
/ 01 мая 2019

Как я могу успешно запустить этот цикл, чтобы датафрейм также менялся с каждым циклом?

Код:

while len(left)>0:
    df1 = pd.DataFrame({'Pid': packed})
    df1['g'] = df1.groupby('Pid').cumcount()
    data['g'] = data.groupby('Pid').cumcount()
    dat = data[data.merge(df1, indicator=True, how='left')['_merge'].eq('left_only')]
    dat = dat.reset_index(drop=True)
    print(dat)

    item_m1 = dat["Weight"]
    item_v1 = dat["Volume"]
    truck_m = truck["Weight"]
    truck_v = truck["Volume"]
    truck_c = truck["Price"]
    id_s1 = dat["Pid"]

    item_m1, item_v1, truck_m, truck_v, truck_c, id_s1 = tolist_converter(item_m1,item_v1,truck_m,truck_v,truck_c, id_s1)

    items_dict1 = dat[["Length","Width","Height","Pid" ]].set_index('Pid', drop =False).T.to_dict('list')
    print("items_dc", items_dict)
    truck_dict1 = truck[["S.no","Length(ft)","Breadth(ft)","Height(ft)","TruckID"]].set_index('S.no').T.to_dict('list')

    lpstatus,value_obj,trucks_used, trucks_status, output_dict1 = allocator(item_m1,item_v1,truck_m,truck_v,truck_c,id_s1)
    string_d1 = string_preprocessing(output_dict1, items_dict1, truck_dict1)
    lef, loade = packer(string_d1)
    packed1 = packed_items(loade)

    left = lef
    packed = packed1
    loaded.update((k + '_1' if k in loaded else k, v) for k, v in loade.items())

Я могу изменить значения упаковано и осталось , но я понятия не имею, как обновить фрейм данных, т.е. я хочу data , чтобы быть дата во втором цикле

...