【问题标题】:Is it possible to see DataFrame in wxpython GUI?是否可以在 wxpython GUI 中看到 DataFrame?
【发布时间】:2019-08-18 23:43:41
【问题描述】:

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

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

这是我的dataFramedf6 示例

                 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'

【问题讨论】:

    标签: python python-2.7 wxpython


    【解决方案1】:

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

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

    然后将数据操作成字符串

    df.to_string().strip()
    

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

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

    附言熟悉pandas的人可能有更好的方法,我不是。

    【讨论】:

    • 谢谢!!!它运作良好,这正是我想要的。不是我应该处理数据:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2013-02-08
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多