【问题标题】:Python: Formatting a Pandas dataframe head with LaTexPython:使用 LaTex 格式化 Pandas 数据帧头
【发布时间】:2022-07-28 15:04:17
【问题描述】:

我从几个 NumPy 数组制作了一个 Pandas 数据框,并尝试使用 LaTex 格式化列头,但它看起来很糟糕。我正在使用 Jupyter Notebook。

import numpy as np
import pandas as pd

数组(五个实例中的一个)如下所示:

coeficientes = [0.5601, 0.3315, 0.2260, 0.1429, 0.0695]
coeficientes = np.array(coeficientes)

数据框:

tabla_resumen = pd.DataFrame({'$x_{n-i+1}$': submuestra1, 
                              '$x_{i}$': submuestra2, 
                              '$x_{n-i+1} - x_{i}$': diferencias, 
                              '$a_{n-i+i}$': coeficientes,
                              '$(x_{n-i+1} - x_{i})(a_{n-i+i})$': sumandos
                             })
tabla_resumen

外观:

是否有任何格式选项可以使它看起来更好?

【问题讨论】:

    标签: python pandas numpy jupyter-notebook latex


    【解决方案1】:

    试试这个:

    转换为下标的函数

    def get_sub(x):
        normal = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-=()"
        sub_s = "ₐ₈CDₑբGₕᵢⱼₖₗₘₙₒₚQᵣₛₜᵤᵥwₓᵧZₐ♭꜀ᑯₑբ₉ₕᵢⱼₖₗₘₙₒₚ૧ᵣₛₜᵤᵥwₓᵧ₂₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎"
        res = x.maketrans(''.join(normal), ''.join(sub_s))
        return x.translate(res)
    

    显示下标

    print('H{}SO{}'.format(get_sub('2'),get_sub('4'))) #H₂SO₄
    

    【讨论】:

    • 我使用 to_latex() 得到了某种 ASCII 表。文档说“需要 \usepackage{booktabs}”:我必须在哪里运行该命令?
    • @JavierBlanco 不,你不需要那个包,如果你想在 Python 代码中使用带下标的 Latex 语法,你可以使用这个函数代替 Pandas to_latex()。
    • 所以没有办法在数据框中正确使用 LaTex?
    • @JavierBlanco 据我所知,不幸的是,没有彻底的方法。因此,这些功能的组合可能会对您有所帮助。您还可以使用“pandas.DataFrame.to_latex”以乳胶文档的形式获取数据框,您可以将其作为单独的文件打开。您是否在数据框中尝试过此功能,然后通过“pandas.DataFrame.to_latex”将其导出到乳胶代码?
    • 我想我将使用纯文本。这不值得努力。但是非常感谢您的时间和回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多