对于数据框中的某些列,我都有很长的标题,我希望能够包装文本。我知道该功能已内置到熊猫中,就像我所做的那样:
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笔记本,但是如果可能的话,希望使用基于熊猫的解决方案。
这是一个不涉及更改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')])])