Jupyter笔记本在哪里/如何挂钩到python的repr / str

时间:2018-01-11 07:51:39

标签: python jupyter-notebook

[在jupyter笔记本中:python3内核]

如果我在pandas中创建一个数据框或者在同一个矩阵中创建一个数据框,它打印得非常好 即它看起来很像电子表格/矩阵等

它是如何做到的? 谁做到了?

数据框似乎没有str / repr方法中的任何特殊内容(例如生成html)。 试过普通的python和jupyter。 Jupyter的印刷要复杂得多。

那么它是如何挂钩的?

1 个答案:

答案 0 :(得分:1)

我只能说熊猫,但我想同情的方式也是如此。

Pandas将DataFrame转换为HTML字符串。如果我们打印这个字符串,它看起来比我们打印数据框时更糟糕。

from IPython.display import display, HTML
import pandas as pd

data = pd.DataFrame({'col': range(5)})

print(data._repr_html_())

'<div>\n<style scoped>\n    .dataframe tbody tr....'

如果我们使用Jupyter的HTML来显示它,Jupyter知道在Web浏览器中将其呈现为HTML,因此显示为HTML表格。

HTML(data._repr_html_())

    col
0   0
1   1
2   2
3   3
4   4