【发布时间】:2020-09-24 20:20:04
【问题描述】:
我在 pandas 中有以下数据框(名为 test):
Group 1 Group 2 Species Adj. P-value
0 a b Parabacteroides goldsteinii 7
1 a b Parabacteroides johnsonii 8
2 a b Parabacteroides merdae 9
3 a b Parabacteroides sp 10
4 c d Bacteroides coprocola 1
5 c d Bacteroides dorei 2
我想将此表转换为 Latex 格式,但将第 1 组和第 2 组中的重复值居中(参见下图示例)。在 Latex 中,这是通过包 \multirow 完成的,df.to_latex 有一个名为 multirow 的参数来启用此功能 (to_latex)
但是,必须创建 MultiIndex 才能使用 to_latex 中的 multirow 选项。
所以我这样做了:
test.index = pd.MultiIndex.from_frame(test[["Group 1","Group 2"]])
test = test.drop(["Group 1","Group 2"], axis=1)
test
Species Adj. P-value
Group 1 Group 2
a b Parabacteroides goldsteinii 7
b Parabacteroides johnsonii 8
b Parabacteroides merdae 9
b Parabacteroides sp 10
c d Bacteroides coprocola 1
d Bacteroides dorei 2
最后我存储了表格:
test.to_latex("la_tex_tab.txt",multirow=True, index=True,float_format="{:0.3f}".format).
但是,这会产生:
它仅适用于级别 0(组 1),但不适用于 MultiIndex 的级别 1(组 2)。 您对如何避免 MultiIndex 中的 b 和 d 值重复有什么建议吗?
谢谢。
【问题讨论】:
标签: python-3.x pandas latex multi-index