【发布时间】:2018-03-24 18:04:21
【问题描述】:
我正在尝试使用 pandas 制作格式精美的表格。我的一些列名太长了。这些列的单元格很大,导致整个表格一团糟。
在我的示例中,是否可以在显示列名时旋转它们?
data = [{'Way too long of a column to be reasonable':4,'Four?':4},
{'Way too long of a column to be reasonable':5,'Four?':5}]
pd.DataFrame(data)
【问题讨论】:
-
可以加标签
jupyter notebook -
显然这取决于您的情况,但也许只是缩短/改进列名是有意义的?但对于解决方法,您可以考虑转换为“假”多索引。例如。如果列名是“david s南瓜”,您可以将“david s”作为顶层,将“pumpkins”作为第二层。显然这不是多索引的用途,但我认为它基本上可以满足您的需求。
-
@JohnE,感谢您的建议。文本换行是@Wen 建议的,但已被删除:
df.style.set_table_styles([dict(selector="th",props=[('max-width', '50px')])])这是一个很好的解决方法,适用于短语,就像在我的示例中一样。不过我也有长话。我仍然很好奇是否可以旋转!我不是 CSS 选择器专家,但我认为这应该可行,但不行:dfoo.style.set_table_styles([dict(selector="th",props=[('text-orientation', 'upright')])]) -
我刚刚重新阅读了文档页面 (pandas.pydata.org/pandas-docs/version/0.19.2/style.html),其中指出 '您只能设置值的样式,而不是索引或列的样式',但文档显示正在格式化的列和索引。也许这才刚刚开始解决。
标签: python pandas dataframe jupyter-notebook