使用 Pandas 在 Pycharm 中设置表格样式(df.style.applymap)?

问题描述 投票:0回答:3

我想使用 Pandas 来设计我的表格,以下示例来自此站点: https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html

现在的问题是,我使用 Pycharm。因此,在执行我的代码后,表格会根据这些值创建自己的颜色。但这不是我想要的。有没有人在使用 Pycharm 时遇到同样的问题?

        import pandas as pd
        import numpy as np
        
        np.random.seed(24)
        df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
        df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
                       axis=1)
        df.iloc[0, 2] = np.nan
    def color_negative_red(val):
        """
        Takes a scalar and returns a string with
        the css property `'color: red'` for negative
        strings, black otherwise.
        """
        color = 'red' if val < 0 else 'black'
        return 'color: %s' % color
s = df.style.applymap(color_negative_red)
python pandas pycharm pandas-styles
3个回答
3
投票

我相信 pandas 样式器会生成 HTML 输出,这需要像 jupyter 这样的 HTML 前端来显示它们。 PyCharm“只是”一个控制台,不渲染 HTML。因此,您将得到

<pandas.io.formats.tyler.Styler...>
回复。

要验证您的代码是否有效,您可以输入

s.render()
,它应该会打印 HTML,从而产生正确的格式。

另请参阅此处


0
投票

添加到您的代码:

with open('test.html', 'w') as f:
    print(s.to_html(), file=f)

在您的项目文件夹中将出现文件“test.html”,其中将是您的表格


0
投票

.render()
已更改为
.to_html()
,但根据该answer,无法在 PyCharm 上呈现 HTML。

© www.soinside.com 2019 - 2024. All rights reserved.