如何解决df.to_latex
我想使用.
作为千位分隔符和,
作为十进制分隔符和两位十进制数字将Pandas DataFrame导出到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)
我该如何实现?如果在代码中将.
更改为,
,则会收到ValueError: Invalid format specifier
。谢谢!
解决方法
我将使用_作为千位分隔符和进行格式化。作为小数点分隔符,然后将其替换为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}
,
显然,它适用于:
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有效!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。