Encapsulando nomes de colunas no Python Pandas DataFrame ou Jupyter Notebooks

Tenho títulos longos para algumas das minhas colunas no meu quadro de dados e gostaria da capacidade de agrupar o texto. Eu sei que essa funcionalidade está embutida em pandas, como eu faço:

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

DataFrame com nomes de coluna agrupados

Mas se eu tiver menos colunas, os títulos não serão quebrados:

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

O DataFrame não quebra os nomes das colunas

Eu também tentei inserir manualmente uma nova linha:

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

Mas isso dá a mesma saída que acima.

Encontrei respostas semelhantes para este tópico:

Posso definir larguras de coluna variáveis em pandas?
truncará as larguras da coluna, mas não afetará o título e não envolverá o textoNovas linhas de impressão bonitas dentro de uma string em um DataFrame do Pandas
Isso toca novamente no conteúdo da coluna, mas não no título

Estou trabalhando em um notebook Jupyter, mas preferiria uma solução baseada em pandas, se possível.

questionAnswers(3)

yourAnswerToTheQuestion