Как я могу использовать ввод ввода как F (X) - PullRequest
0 голосов
/ 29 марта 2020

Я подаю заявку на использование функции pandas. Я хочу, чтобы пользователь мог написать свою собственную функцию, чтобы получить все, что он хочет. но я не мог сделать и найти подходящий вариант. Я новичок в коде. Так как же я могу преобразовать входные данные в переменную? пример в красном круге. это может быть любой записанный пользователем, такой как df_la ['RPM'] == 40 или иначе

enter image description here

вот некоторая часть моего кода:

path = filedialog.askopenfilename(initialdir="D:\GIS\Python_Pro", title="Select a file", filetypes=(
        ("xlsx files", "*.xlsx"), ("xls files", "*.xlsx"), ("cvs files", "*.cvs"), ("All Files", "*.*")))
select_split = path.split("/")
excel_file = select_split[-1].split(".")
excel_name = excel_file[0]
df_la = pd.read_excel(path)
header_cols = list(df_la.columns)


def Where():
        a=df_la.where(e.get())
        print(a)
        lbl = Label(frm_btn, text="Where value of " + str() + " = " + str(a), bd=10, relief=SUNKEN,
                    bg="black", fg="white", font=("Ariel", "10", "bold"))
        lbl.grid(row=0, column=0, sticky="nsew", columnspan=24, rowspan=3, padx=10)


e=Entry(frm_btn,bd=2,relief=SUNKEN,fg="Blue",font=("Ariel","11","bold"),bg="light grey")
e.grid(row=5,column=3,sticky="nsew",columnspan=15,padx=5)

btn_where=Button(frm_btn,text="Search",bd=2,relief=FLAT,bg="Black",fg="White",font=("Ariel","10","bold"),command=Where)
btn_where.grid(row=6,column=0,sticky="nsew",padx=2,pady=2)

1 Ответ

0 голосов
/ 30 марта 2020

во-первых, спасибо за идею. Я получил от jizhihaoSAMA. так что настройка работает нормально. exe c () не возвращает, но eva () возвращает то, что я хочу. Пожалуйста, найдите настройку ниже. Я проверю другие решения, может быть лучше.

def Where():
        c=eval('df_la.where({})'.format(e.get()))
        dfs=pd.DataFrame(c)
        print(dfs.notnull().sum())

        lbl = Label(frm_btn, text="Where value of " + str(c) + " = ", bd=10, relief=SUNKEN,
                    bg="black", fg="white", font=("Ariel", "10", "bold"))
        lbl.grid(row=0, column=0, sticky="nsew", columnspan=24, rowspan=3, padx=10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...