gpt4 book ai didi

pandas - qtconsole 不将 Pandas 数据帧渲染为 html notebook_repr_html 选项

转载 作者:行者123 更新时间:2023-12-04 02:07:53 25 4
gpt4 key购买 nike

我最近升级了我的 Pandas 版本。我现在安装了最新的稳定版本:

pd.__version__
Out[5]: '0.10.1'

在这次升级之前,这是数据帧在 qtconsole shell 中的显示方式(这不是我的屏幕截图,而是我在网上找到的截图)。

rendering pandas dataframe as html table in qtconsole

最新版本的 pandas 还使用了不同的方法来设置显示选项。

而不是使用 pd.set_printoptions ,pandas 希望你使用 set_option像这样的配置:
pd.set_option('display.notebook_repr_html', True)

升级我的 Pandas 版本后,qtconsole 不再将数据帧呈现为 html 表。

一个例子:
import numpy as np
import pandas as pd

pd.set_option('display.notebook_repr_html', True)
pd.set_option('display.expand_frame_repr', True)
pd.set_option('display.precision', 3)
pd.set_option('display.line_width', 100)
pd.set_option('display.max_rows', 50)
pd.set_option('display.max_columns', 10)
pd.set_option('display.max_colwidth', 15)

当我创建一个 DataFrame...
f = lambda x: x*np.random.rand()
data = {"a": pd.Series(np.arange(10) ** 2 ),
"b": pd.Series(map(f, np.ones(10))) }
df = pd.DataFrame(data)
df

这是我在 qtconsole shell 中看到的:
Out[4]: 
a b
0 0 0.15
1 1 0.74
2 4 0.81
3 9 0.94
4 16 0.40
5 25 0.03
6 36 0.40
7 49 0.43
8 64 0.56
9 81 0.14

您可以检查您的显示配置当前是如何设置的:
opts = ["max_columns", 
"max_rows",
"line_width",
"max_colwidth",
"notebook_repr_html",
"pprint_nest_depth",
"expand_frame_repr" ]

for opt in opts:
print opt, pd.get_option(opt)

Out[5]
max_columns 10
max_rows 50
line_width 100
max_colwidth 15
notebook_repr_html True
pprint_nest_depth 3
expand_frame_repr True

为了在 qtconsole 中呈现美化的 html 表,我缺少什么?

最佳答案

据我所知,notebook_repr_html选项仅适用于实际的 IPython Notebook 而不是 QTConsole。

在 QTConsole 中,您可以执行以下操作:

from IPython.display import HTML
import numpy as np
import pandas

df = pandas.DataFrame(np.random.normal(size=(75,5)))
HTML(df.to_html())

您可能会遇到的一个问题是,对于 QTConsole 的缓冲区来说,HTML 是否太长。在这种情况下,根据我的经验,什么都不会出现。

关于pandas - qtconsole 不将 Pandas 数据帧渲染为 html notebook_repr_html 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com