Envolviendo nombres de columnas en Python Pandas DataFrame o Jupyter Notebooks

Tengo títulos largos para algunas de mis columnas en mi marco de datos, y me gustaría poder ajustar el texto. Sé que esta funcionalidad está integrada en los pandas, como lo hago yo:

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

DataFrame con nombres de columna envueltos

Pero si tengo menos columnas, los títulos no se ajustarán:

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

DataFrame no ajusta los nombres de columna

También he intentado insertar manualmente una nueva línea:

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

Pero eso da el mismo resultado que el anterior.

He encontrado respuestas similares sobre este tema:

¿Puedo establecer anchos de columna variables en pandas?
truncará los anchos de columna, pero no afectará el título y no ajustará el textoImpresión bonita de nuevas líneas dentro de una cadena en un Pandas DataFrame
Esto nuevamente toca el contenido de la columna pero no el título

Estoy trabajando en una computadora portátil Jupyter, pero preferiría una solución basada en pandas, si es posible.

Respuestas a la pregunta(3)

Su respuesta a la pregunta