Как создать data.keys() и data.values() из фрейма данных Treeview?

#python #dataframe #sorting #tkinter #treeview

Вопрос:

Я работаю над своим классным проектом, но теперь я не могу понять, как отсортировать дерево и отобразить первые пять строк в другом дереве. Проверьте изображение ниже:

введите описание изображения здесь

Код, используемый для вставки данных в первый вид дерева в списке потерянных IV_Meds (проверьте изображение), приведен ниже:

 def update_wastedItemsList():  global count   i=count   if i % 2 == 0:   trv.tag_configure("evenrow", background='lightgrey', foreground='black')   trv.insert(parent='', index='end' , text="", values= (count, ent2.get(), ent3.get(), ent4.get(), ent5.get()), tags=('evenrow',))   else:   trv.tag_configure("oddrow", background='white', foreground='black')   trv.insert(parent='', index='end' , text="", values= (count, ent2.get(), ent3.get(), ent4.get(), ent5.get()), tags=('oddrow',))   count = count   1   

Чтобы создать treeview в оболочке списка IV_MedS, я использовал следующий код;

 style = ttk.Style()  trv = ttk.Treeview(wrapper1, columns=(1,2,3,4,5), show="headings", height=15) vsb = ttk.Scrollbar(wrapper1, orient="vertical", command=trv.yview) vsb.pack(side ='right', fill ='y') trv.configure(yscrollcommand=vsb.set) style.configure("Treeview.Heading", font=("Helvetica", 14))  

Чтобы создать второй вид дерева с черным фоном, где я хочу увидеть 5 лучших лекарств с наибольшим количеством потраченных впустую денег, я использовал следующий код:

 # create treeview inside the Top five highest IV_Meds wasted wrapper  style = ttk.Style()  trV = ttk.Treeview(wrapper4, columns=(1,2,3,4,5), show="headings", height=10) vsb = ttk.Scrollbar(wrapper4, orient="vertical", command=trV.yview) vsb.pack(side ='right', fill ='y')  trV.configure(yscrollcommand=vsb.set)  style.configure("Treeview.Heading", font=("Helvetica", 14))  

Я хочу использовать кнопку сортировки дерева (видна на картинке), чтобы отобразить пять самых дорогих потраченных впустую IV. Используя следующий код;

 def Treeview_VS():   for child in trv.get_children():   df = pd.DataFrame(trv.item(child)[str("values")])  trV.tag_configure("oddrow", background='black', foreground='white')    trV.insert("",'end',text=trv.item(child)["text"],values=df, tags=('oddrow',))  

После сортировки treeview я хочу определить название препарата как data.keys() и$ потраченных денег как data.values (), чтобы создать диаграмму в области гистограммы.

 # create the barchart  axes.bar(Drugs name, wasted Money$) axes.set_title('Top 5 wasted Expensive IV')  axes.set_ylabel('wasted Money



)