是否可以在 wxpython GUI 中看到 DataFrame?

Is it possible to see DataFrame in wxpython GUI?

我创建了一个 dataFramePandas,它有 3 列超过 100 条记录。现在我试图通过 PythonGUI 工具 wxPython 向用户显示此 dataFrame,但我不确定是否可以使用 wxPython 显示 dataFrame

我试图以 MessageDialog 的形式显示它,但收到错误消息。似乎我需要用 wxPython 创建一个网格并获取每个单元格的值以显示 table,但是有没有更简单的方法向最终用户显示我的 table?

这是我的 dataFrame df6

的示例
                 email firstname   lastname
1        ah@example.com   Andrew   H
2        ah@example.com   Andrew   H
3      andy@example.com   Andrew   M
4        am@exmaple.com   Andrew   M

这是我尝试在 wxPython 中制作 MesssageDialog 的代码。

            def OnBtnClick(self, event):
                dialog = wx.MessageDialog(self, df6, 'Result', wx.OK)
                dialog.ShowModal()
                dialog.Destroy()

当我运行上面的代码时,我仍然让主机调用一个对话框,但是如果我点击按钮,我得到以下错误信息。

dialog = wx.MessageDialog(self, df6, 'Result', wx.OK)
TypeError: MessageDialog(): argument 2 has unexpected type 'DataFrame'

您需要将框架转换为字符串或将其中的值转换为字符串。
您最好的选择是使用数据框选项将值转换为 listdict 或将数据框本身转换为字符串。 例如

df.values.tolist()
df.to_dict()

然后将数据操作成字符串

df.to_string().strip()

dlg=wx.MessageDialog(None,df.to_string().strip(),'Result', wx.OK)

但这是一种肮脏且丑陋的方法,因为它包含索引

p.s。熟悉 pandas 的人可能会提供更好的方法,我不是。