小编典典

在Python Pandas DataFrame或Jupyter Notebook中包装列名称

python

对于数据框中的某些列,我都有很长的标题,我希望能够包装文本。我知道该功能已内置到熊猫中,就像我所做的那样:

pd.DataFrame(np.random.randn(2, 10), 
    columns=['Very Long Column Title ' + str(i) for i in range(10)])

具有包装的列名称的DataFrame

但是,如果我的列较少,则标题将不换行:

pd.DataFrame(np.random.randn(10, 2), 
    columns=['Very Long Column Title ' + str(i) for i in range(2)])

DataFrame不包装列名

我也尝试过手动插入换行符:

import pandas as pd    
pd.DataFrame(np.random.randn(10, 2), 
    columns=['Very Long \n Column Title ' + str(i) for i in range(2)])

但这给出了与上述相同的输出。
我正在使用Jupyter笔记本,但是如果可能的话,希望使用基于熊猫的解决方案。


阅读 216

收藏
2021-01-20

共1个答案

小编典典

这是一个不涉及更改IPython属性的答案:

df = pd.DataFrame(np.random.randn(10, 2), 
    columns=['Very Long Column Title ' + str(i) for i in range(2)])
df.style.set_table_styles([dict(selector="th",props=[('max-width', '50px')])])
2021-01-20