我的数据框中的某些列的标题很长,我希望能够换行。我知道这个功能是内置在 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)])
但这给出了与上面相同的输出。
我在这个主题上找到了类似的答案:
- Can I set variable column widths in pandas?
会截断列宽,但不会影响标题,也不会换行 - Pretty printing newlines inside a string in a Pandas DataFrame
这再次涉及列内容,但不涉及标题
我正在使用 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/