Al guardar un marco de datos de pandas en csv, ¿cómo conservo las columnas.nombre?

Problema inicial

Cuando ejecuto lo siguiente en ipython

import numpy as np
import pandas as pd

df = pd.DataFrame(np.round(9*np.random.rand(4,4), decimals=1))
df.index.name = 'x'
df.columns.name = 'y'

df.to_csv('output.csv')

df

da como resultado el siguiente resultado:

y    0    1    2    3
x                    
0  7.6  7.4  0.3  7.5
1  5.6  0.0  1.5  5.9
2  7.1  2.1  0.0  0.9
3  3.7  6.6  3.3  8.4

Sin embargo cuando abrooutput.csv la "y" se elimina:

x   0   1   2   3
0   7.6 7.4 0.3 7.5
1   5.6 0   1.5 5.9
2   7.1 2.1 0   0.9
3   3.7 6.6 3.3 8.4

¿Cómo hago para que eldf.columns.name se retiene cuando saco el marco de datos a csv?

Solución cruda

La solución cruda actual es que estoy haciendo lo siguiente:

df.to_csv('output.csv', index_label = 'x|y')

Lo que resulta enoutput.csv leyendo:

x|y 0   1   2   3
0   7.6 7.4 0.3 7.5
1   5.6 0   1.5 5.9
2   7.1 2.1 0   0.9
3   3.7 6.6 3.3 8.4

¡Algo mejor sería genial! Gracias por su ayuda (de antemano).

Contexto

Esto es en lo que estoy trabajando:https://github.com/SimonBiggs/Electron-Cutout-Factors

Esta es una tabla de ejemplo:https://github.com/SimonBiggs/Electron-Cutout-Factors/blob/master/output/20140807_173714/06app06eng/interpolation-table.csv

Respuestas a la pregunta(2)

Su respuesta a la pregunta