def openfiles():
file1 = tkinter.filedialog.askopenfilename(filetypes=(("Text Files",".csv"),("All files","*")))
read_text=pd.read_csv(file1)
displayed_file.insert(tk.END,read_text)
read_text['OPCODE'] = pd.to_numeric(read_text['OPCODE'],errors = 'coerce').fillna(0.0)
read_text['ADDRESS'] = pd.to_numeric(read_text['ADDRESS'],errors = 'coerce').fillna(0.0)
classtype1=np.argmax(model.predict(read_text), axis=-1)
tab2_display_text.insert(tk.END,read_text)
运行此代码时显示“无法将字符串转换为浮点”
用作数据帧的csv文件的链接:https://github.com/Yasir1515/Learning/blob/main/Book2%20-%20Copy.csv
完整的代码链接(问题代码在第118-119行):https://github.com/Yasir1515/Learning/blob/main/PythonApplication1.py
在您的数据中
ADDRESS
是十六进制数OPCODE
是十六进制数的列表。我不知道你为什么要把十六进制数转换成浮点数。你应该把它们转换成整数方法
to_numeric
不适合将十六进制字符串转换为整数,或处理十六进制数字列表。您需要编写帮助函数:现在替换相关行:
我查看您的CSV文件。列操作码包含一行,其中包含一些由空格(“”)分隔的数字组成的长字符串。因此,不能将该类型的值强制转换为数字类型(字符串“88 99 77 66”!=数字类型)。我可以建议一些解决方案,将列操作码中的许多值拆分为许多行,然后执行to_numeric方法,之后可以进行操作并将其返回到上一个表单。 我的建议是:
相关问题 更多 >
编程相关推荐