python-3.x - 在 tkinter 中接受 lambda 表达式作为用户的输入
问题描述
我正在使用tkinter
为预处理脚本创建一个接口,该脚本将接受用户输入并pandas
相应地过滤数据框。下面的代码片段接受来自用户的简单函数,并打印结果。
代码:-
import tkinter as tk
import pandas as pd
root = tk.Tk()
entry1 = tk.Entry(root, width=50)
entry1.pack()
def demo_func(f):
tmp = pd.DataFrame({"x": [1, 2, 3, 4, 5], "y": [1, 2, 3, 4, 5]})
return tmp.apply(f, axis=1)
def myclick():
text = entry1.get()
func = eval(f"lambda x: {text}")
mylabel = tk.Label(root, text=demo_func(func))
mylabel.pack()
mybutton = tk.Button(root, text="Enter", command=myclick)
mybutton.pack()
root.mainloop()
结果 :-
我希望能够输入允许用户在特定列上指定操作的表达式,例如f'The new value of column x is {x["x"] ** 2}'
.
预期结果(通过硬编码值获得):
有没有更好的方法来做我想做的事情?任何帮助,将不胜感激。谢谢你。
解决方案
推荐阅读
- loops - Create a matrix from variables using subsequent values
- angular - window:afterprint 在 Angular 中的 window.print() 之后不起作用
- shell - 脚本完成时防止 tmux 退出
- python - 如何基于另一列将数据附加到数据框?
- c# - 从 Visual C# 2019 创建的 DLL 可以在 MFC 6.0 中使用吗?
- svn - 将分支转换为标签 svn?
- css - 导航菜单的字体粗细在内部页面上看起来不同 - WordPress
- firebase - NextJS firebase 模拟器功能不断编译、删除和重建 next.js 服务器,直到发生超时
- gimp - Gimp Python 脚本单独工作,但组合时不工作
- android - 编辑 framework-res apk 以更改通知阴影覆盖颜色