Я использую tkinter и создал ярлык с textvariable.Я хочу, чтобы, скажем, топ-5 клиентов были указаны в этом ярлыке.Список клиентов из файла Excel.
Часть моего кода:
import pandas as pd
import tkinter as tk
from tkinter import ttk
df = pd.read_excel('Sample.xlsx', "Sheet1")
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.grid_rowconfigure(1, weight=1)
self.grid_columnconfigure(1, weight=1)
self.grid()
self.baseDown = tk.Frame(root, width=800, height = 400, background='#E6E6FA', relief = "groove", borderwidth = 2)
self.baseDown.grid(columnspan=7, row=1, rowspan = 4, pady = 1, padx = 2, sticky="wn")
self.BDown = tk.LabelFrame(self.baseDown, text = " Analysis ", width=800, height=400, background ='#E6E6FA', relief = 'ridge', borderwidth = 2)
self.BDown.config(font = ('Verdana', 8, 'bold'))
self.BDown.grid(columnspan=7, row=1, rowspan = 4, pady = 3, padx = 2, sticky="wn")
self.baseDown.grid()
self.cust_var = tk.StringVar()
self.lbl_custname = ttk.Label(self.BDown, textvariable = self.cust_var)
self.lbl_custname.config(font=('Segoe UI', 8), width = 100)
self.lbl_custname.grid(row=1, column=1, columnspan=3, pady = 1, padx = 2, sticky="nw")
top = df.nlargest(5, columns=['Value'])
for index, row in top.iterrows():
self.cust_var.set(row[top['Customer Name'].values.astype(str)])
root = tk.Tk()
root.configure(background = 'white')
#root.resizable(False, False)
app = Application(master=root)
app.mainloop()
Вывод выглядит следующим образом: Customer1 NaN Customer2 NaN Customer3 NaN Customer4 NaN Customer5 NaN Name: 20371, dType: Object
Список клиентов верен, но я не понимаю, почему существует NaN и почему также появляется тип данных.
Мой файл Excel содержит только 2 столбца: Значение имени клиента