【问题标题】:Python Jupyter Notebook print dataframe bordersPython Jupyter Notebook 打印数据框边框
【发布时间】:2018-09-28 00:21:30
【问题描述】:

我可能有一个简单的问题,但我似乎无法在线找到解决方案。 如果我在 Jupyter 笔记本中创建一个数据框“df”,然后使用 print() 将其打印出来,则显示在我的浏览器中的表格根本不会显示任何边框。 例如:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(5,2), columns=["a","b"])
print(df)

这将显示一个没有边框的表格。 我读了Jupyter pandas.DataFrame output table format configuration 但如果我只是输入,这似乎会有所帮助

df.head()

不是 print() 函数的输出。 有人有什么建议吗? 非常感谢

【问题讨论】:

  • print() 在对象上调用__str__()(或__repr__()),因此会将其转换为字符串。 df.head() 等价于 from IPython.display import display; display(df.head())。您只需输入df,它就会对整个表格执行相同的操作。

标签: python-3.x dataframe


【解决方案1】:

@Angel,您可以在任何单元格中添加此脚本以引入表格边框。使用df 而不是print(df)

%%HTML
<style type="text/css">
table.dataframe td, table.dataframe th {
    border: 1px  black solid !important;
  color: black !important;
}
</style>

【讨论】:

  • 谢谢!如果我想学习,请问在哪里可以阅读有关该代码的更多信息?有什么建议吗?
  • @Angelo.. 是的。网上有很多资料。让我给你解释一下。您实际上在 python 笔记本中调用的是内联“HTML”并调整数据表 td/th 的 css 部分。你可以从这里 1.w3schools.com/css 和这里 2.developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS/… 学习很多 CSS
  • 很好,但是如何将其应用于仅一个输出而不是所有数据帧?谢谢!
【解决方案2】:

你使用 print(df) 代替:

from IPython.display import display
display(df)

【讨论】:

    【解决方案3】:

    @MEdwin 的回答很完美,只需要关闭 style 标签,否则损坏的 HTML 会导致 HTML 代码后面的几个输出单元格“吃掉”输出。

    %%HTML
    <style type="text/css">
    table.dataframe td, table.dataframe th {
        border: 1px  black solid !important;
      color: black !important;
    }
    </style>
    

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 2017-11-25
      • 1970-01-01
      • 2012-12-15
      • 2018-12-27
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      相关资源
      最近更新 更多