gpt4 book ai didi

python-3.x - 合并 pandas "data frame.style"对象并输出到 html

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

我想组合使用以下方法的 pandas df.style 对象 - df.style.background_gradientdf.style.bar 并将结果导出为 html。

当我有单独的对象时,我就成功了。这是一个示例数据框:

df = pd.DataFrame(np.random.randn(15).reshape(5, 3))

然后我可以将其传递给不同的样式方法:

# Use method "background_gradient"
styled_df_a = df.style.background_gradient(subset=[0, 1],
low=0, high=0.5,
cmap="YlGnBu")

# Use method "bar"
styled_df_b = df.style.bar(subset=[2], align='mid',
color=['#d65f5f', '#5fba7d'])

我随后将每个样式表导出到 html:

# Export styled table a to html
html = styled_df_a.render()
with open("df_a.html","w") as fp:
fp.write(html)

# Export styled table b to html
html = styled_df_b.render()
with open("df_b.html","w") as fp:
fp.write(html)

因此,我有 2 个 html 呈现样式表。但是,我想将这 2 种方法合并到 1 个 html 样式表中,这样第 1-2 列具有 background_gradient 样式,第 3 列具有 bar 样式。

我试过这个:

styled_df_c = styled_df_a.style.bar(subset=[2], align='mid', 
color=['#d65f5f', '#5fba7d'])

由于以下错误,这不起作用:

AttributeError: 'Styler' object has no attribute 'style'

有没有办法通过其他方式做到这一点?我确实尝试使用 pandas 的 style.apply 方法进行试验,但出现了与上述类似的错误。

最佳答案

我根据此处的信息找到了解决方案:mode.com/example-gallery/python_dataframe_styling

与其尝试使用更多样式方法强制样式化对象,不如将多个样式方法同时传递到同一个数据框。请看下面:

# example data frame
df = pd.DataFrame(np.random.randn(15).reshape(5, 3))

# pass multiple style methods to same data frame
styled_df = (df.style
.background_gradient(subset=[0, 1], # background_gradient method
low=0, high=0.5,
cmap="YlGnBu")
.bar(subset=[2], align='mid', # bar method
color=['#d65f5f', '#5fba7d']))

# Export "styled_df" to html
html = styled_df.hide_index().render()
with open("html_c.html","w") as fp:
fp.write(html)

关于python-3.x - 合并 pandas "data frame.style"对象并输出到 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54575779/

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