python - 在 Python Pandas DataFrame 或 Jupyter Notebooks 中包装列名

标签 python pandas dataframe formatting jupyter-notebook

我的数据框中的某些列的标题很长,我希望能够换行。我知道这个功能是内置在 pandas 中的,就像我一样:

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

DataFrame with wrapped column names

但是如果我有更少的列,标题将不会换行:

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

DataFrame does not wrap column names

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

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 笔记本,但如果可能的话,我更喜欢基于 pandas 的解决方案。

最佳答案

这是一个不涉及更改 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')])])

关于python - 在 Python Pandas DataFrame 或 Jupyter Notebooks 中包装列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43092345/

相关文章:

python - Python 正则表达式中的 Format()

Python Pandas - 如果满足条件则更改组内的列

python - 如何在 Pandas 数据框中保留每组的前 3 行?

python - 如何填充具有以天数表示的差异的两行之间的空白

python - 如果请求的索引位于整数索引标签之间,pandas 数据框中是否有内置方法来包含切片的下一个/上一个行?

python - 在多索引数据帧上突出显示最大/最小值 - Pandas

python - Sklearn 将字符串类标签更改为 int

python - 列表中的计数频率

python - 从 PyCharm 执行结构任务

python - 如何在具有许多列的 pandas 数据框中生成所有可能的列组合?