我可能有一个简单的问题,但似乎无法在线找到解决方案。
如果我在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输出表格式配置
但这似乎对我有帮助
df.head()
而不是print()函数的输出。
有人有什么建议吗?
非常感谢
print()在对象上调用__str__()(或__repr__()),因此会将其转换为字符串。 df.head()等效于from IPython.display import display; display(df.head())。 您只需键入df,它将对整个表执行相同的操作。
@Angel,您可以在任何单元格中添加此脚本以引入表格边框。 使用df代替print(df)
%%HTML
table.dataframe td, table.dataframe th {
border: 1px black solid !important;
color: black !important;
}
谢谢! 如果我想学习,请问在哪里可以阅读有关该代码的更多信息? 有什么建议么?
@Angelo ..是的。 在线上有很多信息。 让我向你解释。 您实际上在python笔记本中调用的是内联HTML并调整datatable td / th的css部分。 您可以从此处1. w3schools.com/css和此处2.大量学习CSS。developer.mozilla.org/zh-CN/docs/Learn/CSS/Introduction_to_CSS/
谢谢,那实际上很有帮助
代替print(df),您可以使用:
from IPython.display import display
display(df)
@MEdwin的答案是完美的,只需要关闭style标签,否则损坏的HTML会导致多个输出单元格的输出"吃光",这些输出单元格遵循HTML代码。
%%HTML
table.dataframe td, table.dataframe th {
border: 1px black solid !important;
color: black !important;
}
我建议编辑/评论答案