【发布时间】:2020-11-03 20:13:00
【问题描述】:
我想在tkinter 中显示我的标签编码结果,就像我在python 中使用print 函数一样。
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df["REPORT_FAMILY"] = le.fit_transform(df["REPORT_FAMILY"])
print("Mapping: ")
for i, item in enumerate(le.classes_):
print(item, "-->", i)
此代码产生如下结果:
Mapping:
ADELBERT SC3000 --> 0
ADELBERT SC3020 --> 1
ALAR --> 2
ALTER EGO SC460 --> 3
ALTER EGO SCV360 --> 4
ARYA --> 5
BEACHCOMBER --> 6
我如何在 tkinter 中做同样的事情?我使用以下代码但收到错误。我的目标是将编码的 REPORT_FAMILY 列显示到 REPORT_FAMILY 中的相应类别。
import tkinter as tk
#creating the window
window = tk.Tk()
window.title("FPY+ Prediction")
canvas1 = tk.Canvas(window, width = 500, height = 300)
canvas1.pack()
t = tk.Text(window)
for i, item in enumerate(le.classes_):
t.insert(item, "-->", i)
t.pack()
window.mainloop()
我收到以下错误:
---------------------------------------------------------------------------
TclError Traceback (most recent call last)
<ipython-input-30-6c09ea2a9048> in <module>
11 canvas1.create_window(200, 300)
12 for i, item in enumerate(le.classes_):
---> 13 t.insert(item, "-->", i)
14 t.pack()
15
~\Anaconda3\lib\tkinter\__init__.py in insert(self, index, chars, *args)
3270 """Insert CHARS before the characters at INDEX. An additional
3271 tag can be given in ARGS. Additional CHARS and tags can follow in ARGS."""
-> 3272 self.tk.call((self._w, 'insert', index, chars) + args)
3273 def mark_gravity(self, markName, direction=None):
3274 """Change the gravity of a mark MARKNAME to DIRECTION (LEFT or RIGHT).
TclError: bad text index "ADELBERT SC3000"
【问题讨论】:
-
请提及上面的错误。
-
t.insert(tk.INSERT, f"{item}-->{i}\n").你需要传递一个索引参数。 -
@AyushRaj 我已经在问题中包含了错误
-
@Nur Atiqah 你忘了在
t.insert(index, ....)中添加索引 -
@AyushRaj 正是...正如 jizihaoSAMA 指出的那样
标签: python-3.x tkinter tkinter-canvas label-encoding