【问题标题】:Pandas DataFrame styled for presentation用于演示的 Pandas DataFrame
【发布时间】:2018-10-01 16:21:01
【问题描述】:

在 Pandas 和 Seaborn 中,我们可以创建漂亮的图形显示。然而,有时最好显示的是数字,例如在数据框或数据透视表中。

是否有可用的工具来生成具有类似吸引力的数字显示? (是的,我想我可以导出到 word 或 excel,但对于漂亮的图表也是如此......)

【问题讨论】:

  • 一种选择是使用 pandas.DataFrame.to_html() 并使用 CSS 将您自己的自定义样式应用于输出。

标签: pandas numpy seaborn


【解决方案1】:

我想说这取决于您对吸引力的定义,但是可以使用pandas.DataFrame.to_html() 函数从pandas 制作简单干净的表格。将其与自定义 CSS 或 Bootstrap CSS 结合使用,效果不错。

import pandas as pd

sample_df = pd.DataFrame({'Column A': [1,2,3,4,5], 'Column B': [5,4,3,2,1], 'Column C': [100,200,300,400,500]})

with open('test_table.html', 'w') as f:
    f.write(sample_df.to_html())

然后简单地用一些 CSS 编辑输出 html,在本例中为 Bootstrap。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
    </head>
    <body>
        <div class="container">
            <div class="row mt-5">
                <div class="col">
                    <table class="table table-striped">
                        <thead>
                            <tr>
                                <th></th>
                                <th>Column A</th>
                                <th>Column B</th>
                                <th>Column C</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <th>0</th>
                                <td>1</td>
                                <td>5</td>
                                <td>100</td>
                            </tr>
                            <tr>
                                <th>1</th>
                                <td>2</td>
                                <td>4</td>
                                <td>200</td>
                            </tr>
                            <tr>
                                <th>2</th>
                                <td>3</td>
                                <td>3</td>
                                <td>300</td>
                            </tr>
                            <tr>
                                <th>3</th>
                                <td>4</td>
                                <td>2</td>
                                <td>400</td>
                            </tr>
                            <tr>
                                <th>4</th>
                                <td>5</td>
                                <td>1</td>
                                <td>500</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>

    </body>
</html>

导致一些简单的东西看起来像这样:

可以保存为 PDF 等格式

【讨论】:

    猜你喜欢
    • 2020-10-10
    • 2020-06-14
    • 2016-09-02
    • 2018-11-23
    • 1970-01-01
    • 2018-01-14
    • 2023-03-07
    • 2021-01-29
    • 1970-01-01
    相关资源
    最近更新 更多