pandas astackn con números de fila

Tengo un ejemplo de Pandas DataFrame:

ABCD 0 0.441040 0.235533 -0.899417 1.960367 1 -0.701764 2.343389 1.293865 0.556737 2 -0.511988 -0.260338 0.201938 1.154131 3 1.001099 1.077759 -0.006872 -0.961884 4 0.914676 -0.445287 -1.618399 -0.616381 5 0.360060 -0.082711 1.010578 1.071003 

Y lo que me gustaría al final es tener ciertas columnas astackdas con el número de fila asociado arriba. El uso de la selección de columnas y la stack está muy cerca:

  df[['B','C']].stack() 0 B 0.235533 C -0.899417 1 B 2.343389 C 1.293865 2 B -0.260338 C 0.201938 3 B 1.077759 C -0.006872 4 B -0.445287 C -1.618399 5 B -0.082711 C 1.010578 

Pero me gustaría que los números de fila se asocien con cada fila, ya que será importante relacionar cada fila de abajo con el dataframe / tabla original:

 0 B 0.235533 0 C -0.899417 1 B 2.343389 1 C 1.293865 2 B -0.260338 2 C 0.201938 3 B 1.077759 3 C -0.006872 4 B -0.445287 4 C -1.618399 5 B -0.082711 5 C 1.010578 

No estoy seguro de cómo convertir el df [[‘B’, ‘C’]]. Stack () en lo que quiero con los números de fila / índices originales asociados con cada fila.

Al final, quiero escribir la salida en un archivo CSV con las asociaciones de números de fila.

pandas.DataFrame.reset_index un índice de múltiples niveles en las columnas. Funciona en una pandas.Series también.

 df[['B', 'C']].stack().reset_index()