为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

尚方宝剑之说 2022-10-18 19:50:40
我有以下数据框:import pandas as pddf = pd.DataFrame({'text': ['foo foo', 'bar bar'],                 'number': [1, 2]})df如何将列标题/标题和数据框中的值居中对齐,以及如何在数据框中删除索引(值为 0 和 1 的列)?
查看完整描述

4 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

找到了答案。这应该可以使标题和值居中对齐并隐藏索引:


df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])

df1.set_properties(**{'text-align': 'center'}).hide_index()


查看完整回答
反对 回复 2022-10-18
?
慕村9548890

TA贡献1884条经验 获得超4个赞

只是为了澄清目标-您想要的是修改数据框的显示,而不是数据框本身。当然,在 Jupyter 的上下文中,您可能不关心区别 - 例如,如果拥有数据框的唯一目的是显示它 - 但区分这些东西是有帮助的,因此您可以使用正确的工具来做正确的事事物。

在这种情况下,正如您所发现的,样式器使您可以控制数据框显示的大部分方面 - 它通过输出和呈现 html 来实现。

因此,如果您的数据框在 Jupyter 中“看起来”像这样:

//img1.sycdn.imooc.com//634e9339000162b302210128.jpg

但是您希望它看起来更像这样:

//img1.sycdn.imooc.com//634e9342000152a402200097.jpg

您可以使用样式器应用任意数量的样式(将它们链接起来),以便呈现样式化的 HTML。

df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])\
        .hide(axis='index')

在 Jupyter 中,这将像我在上面显示的那样显示,但是如果您想在其他地方显示它并且想要底层 HTML(假设您正在基于此在 Flask 中呈现页面),您可以使用 .to_html() 方法,像这样:

//img1.sycdn.imooc.com//634e93500001067809570155.jpg

以这种方式工作有两个基本优势:

  1. 数据框中的数据保持其原始状态 - 无论如何您都没有更改数据类型或内容

  2. 样式器打开了大量工具,使您的输出看起来完全符合您的要求。

在 Jupyter 和数字的上下文中,这特别有用,因为您不必修改数字(例如使用舍入或字符串转换),您只需应用样式格式并在不需要时避免使用指数符号。

这是一个修改后的示例,它显示了使用样式器“修复”Jupyter Pandas 数字显示问题是多么容易:

//img1.sycdn.imooc.com//634e935b00018c9807290350.jpg

查看完整回答
反对 回复 2022-10-18
?
隔江千里

TA贡献1906条经验 获得超10个赞

试试 IPython.display

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

//img1.sycdn.imooc.com//634e93780001563706490363.jpg

查看完整回答
反对 回复 2022-10-18
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

df.style.set_properties(subset=["Feature", "Value"], **{'text-align': 'center'})



查看完整回答
反对 回复 2022-10-18
  • 4 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信