【问题标题】:Pandas dataframe hide index functionality?熊猫数据框隐藏索引功能?
【发布时间】:2014-02-10 22:07:54
【问题描述】:

是否可以在显示 pandas 数据框时隐藏索引,以便仅列名出现在表的顶部?

这需要同时适用于 ipython notebook 中的 html 表示和 to_latex() 函数(我与 nbconvert 一起使用)。

Ta。

【问题讨论】:

    标签: python pandas ipython-notebook


    【解决方案1】:

    正如@waitingkuo 所指出的, index=False 是您所需要的。如果你想在你的 ipython notebook 中保留漂亮的表格布局,你可以使用:

    from IPython.display import display, HTML
    display(HTML(df.to_html(index=False)))
    

    【讨论】:

    • 这仅适用于 HTML,OP 请求适用于 HTML 和 Latex。
    • 如果您将具有 20 个不同 df 的笔记本渲染为 html,这是否有效?您必须为每个数据框插入这一行吗?
    【解决方案2】:

    设置index=False

    对于 ipython 笔记本:

    print df.to_string(index=False)
    

    对于 to_latex:

    df.to_latex(index=False)
    

    【讨论】:

    • 这会将输出显示为纯文本。在 Jupyter 中,我失去了漂亮的表格布局。有没有办法在保持漂亮桌子的同时做到这一点?
    • @WillemvanDoesburg: from IPython.display import HTML HTML(df.to_html(index=False))
    • 问题中没有问到,但我来这里是为了 Da​​taFrame.to_csv 函数。为了将来参考,它也接受这个。
    • 我看不出这如何完全回答了这个问题。应该有 one 命令在 nb 中正确显示 df(作为 html),并且在导出到 latex/pdf 时它将呈现为表格。 (当然两者都没有索引。)@WillemvanDoesburg 的 HTML() 方法修复了 HTML 部分,但破坏了乳胶。
    • 特别是 HTML() 使用 nbconvert -to pdf 返回“”。
    【解决方案3】:

    从 v. 0.17.1 开始,可以通过 styling 隐藏索引,请参阅 hiding the index or colums:如果 df 是您的数据框就可以了

    df.style.hide_index()
    

    请注意,样式仅在笔记本中有效,在 LaTeX 转换中无效。

    【讨论】:

    • .style 方法中断了到 Latex/pdf 的转换,仅呈现 <pandas.io.formats.style.Styler at 0x......>
    • @MartinThøgersen 感谢您指出这一点。我在谷歌上搜索隐藏笔记本中索引的选项并找到了这个讨论。在进行了一些其他研究之后,我了解了样式,并且我认为在此讨论中添加我的答案很有用。不幸的是,我也没有关注 LaTeX 的 OP 请求。
    【解决方案4】:

    我将以下单元格添加到我的笔记本中,该单元格在 Jupyter 4.0.2 中运行良好。

    注意:即使没有索引,它也会删除“任何”表的第一列。

    # Execute this cell to remove the first column of dataframe tables (to remove index column)
    from IPython.core.display import HTML
    HTML("""
    <style>
        table.dataframe thead th:first-child {
            display: none;
        }
        table.dataframe tbody th {
            display: none;
        }
    </style>
    """)
    

    【讨论】:

      【解决方案5】:

      设置index=False

      例如:DataFrame.to_csv("filename", index=False)

      这会起作用。

      【讨论】:

        【解决方案6】:

        您只需尝试此代码,可能会对您有所帮助。

        dataframe.style.hide_index()
        

        【讨论】:

          猜你喜欢
          • 2022-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-28
          • 2018-02-02
          • 2012-12-20
          • 2017-11-03
          • 2013-08-19
          相关资源
          最近更新 更多