猿问

如何在数据框中居中对齐标题和值,以及如何在数据框中删除索引

我有以下数据框:


import pandas as pd


df = pd.DataFrame({'text': ['foo foo', 'bar bar'],

                 'number': [1, 2]})

df

如何将列标题/标题和数据框中的值居中对齐,以及如何在数据框中删除索引(值为 0 和 1 的列)?



尚方宝剑之说
浏览 119回答 4
4回答

烙印99

找到了答案。这应该可以使标题和值居中对齐并隐藏索引:df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])df1.set_properties(**{'text-align': 'center'}).hide_index()

慕村9548890

只是为了澄清目标-您想要的是修改数据框的显示,而不是数据框本身。当然,在 Jupyter 的上下文中,您可能不关心区别 - 例如,如果拥有数据框的唯一目的是显示它 - 但区分这些东西是有帮助的,因此您可以使用正确的工具来做正确的事事物。在这种情况下,正如您所发现的,样式器使您可以控制数据框显示的大部分方面 - 它通过输出和呈现 html 来实现。因此,如果您的数据框在 Jupyter 中“看起来”像这样:但是您希望它看起来更像这样:您可以使用样式器应用任意数量的样式(将它们链接起来),以便呈现样式化的 HTML。df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])\         .hide(axis='index')在 Jupyter 中,这将像我在上面显示的那样显示,但是如果您想在其他地方显示它并且想要底层 HTML(假设您正在基于此在 Flask 中呈现页面),您可以使用 .to_html() 方法,像这样:以这种方式工作有两个基本优势:数据框中的数据保持其原始状态 - 无论如何您都没有更改数据类型或内容样式器打开了大量工具,使您的输出看起来完全符合您的要求。在 Jupyter 和数字的上下文中,这特别有用,因为您不必修改数字(例如使用舍入或字符串转换),您只需应用样式格式并在不需要时避免使用指数符号。这是一个修改后的示例,它显示了使用样式器“修复”Jupyter Pandas 数字显示问题是多么容易:

隔江千里

试试 IPython.displayfrom IPython.display import HTML HTML(df.to_html(index=False))

蝴蝶刀刀

df.style.set_properties(subset=["Feature", "Value"], **{'text-align': 'center'})
随时随地看视频慕课网APP

相关分类

Python
我要回答