Python df.to_latex()的格式

Python df.to_latex()的格式,python,pandas,latex,Python,Pandas,Latex,我想将熊猫数据帧导出到LaTeX,其中为千位分隔符,,为十进制分隔符和两位十进制数字。例如4.511,34 import numpy as np import pandas as pd df = pd.DataFrame( np.array([[4511.34242, 4842.47565]]), columns=['col_1', 'col_2'] ) df.to_latex('table.tex', float_format="{:0.2f}"

我想将熊猫数据帧导出到LaTeX,其中
为千位分隔符,
为十进制分隔符和两位十进制数字。例如
4.511,34

import numpy as np
import pandas as pd

df = pd.DataFrame(
    np.array([[4511.34242, 4842.47565]]),
    columns=['col_1', 'col_2']
    )

df.to_latex('table.tex', float_format="{:0.2f}".format)

我能做到这一点吗?如果我将
更改为
在我收到的代码中
值错误:无效的格式说明符
。谢谢大家!

显然,它与:

import locale
import numpy as np
import pandas as pd
locale.setlocale(locale.LC_ALL, '')
pd.options.display.float_format = '{:n}'.format

df = pd.DataFrame(
    np.array([[4511.34242, 4842.47565]]),
    columns=['col_1', 'col_2']
    )

df.to_latex('table.tex')

但我想有一个更好的答案,它只适用于导出的df

我将使用u作为千位分隔符和。作为小数分隔符,然后用str.replace替换

df.applymap(lambda x: str.format("{:0_.2f}", x).replace('.', ',').replace('_', '.')).to_latex('table.tex')
给出了以下公式:

\begin{tabular}{lll}
\toprule
{} &     col\_1 &     col\_2 \\
\midrule
0 &  4.511,34 &  4.842,48 \\
\bottomrule
\end{tabular}

谢谢你的回答。但是它仍然与
4.511,34
略有不同。小数分隔符和千分隔符应该是相反的。但是我现在也可以通过搜索和替换来做到这一点:)哦,对不起。现在修好了。非常感谢你!