Comment ajouter simplement un niveau de colonne à une dataframe pandas
disons que j'ai un dataframe qui ressemble à ceci:
df = pd.DataFrame(index=list('abcde'), data={'A': range(5), 'B': range(5)})
 df
Out[92]: 
   A  B
a  0  0
b  1  1
c  2  2
d  3  3
e  4  4
si je considère que cette dataframe existe déjà, comment puis-je simplement ajouter un niveau 'C' à l'index des colonnes pour obtenir ceci:
 df
Out[92]: 
   A  B
   C  C
a  0  0
b  1  1
c  2  2
d  3  3
e  4  4
j'ai vu TELLEMENT de réponse comme ceci python / pandas: comment combiner deux images de données en une seule avec un index de colonne hiérarchique? mais ce concat différent dataframe au lieu d'ajouter un niveau de colonne à une dataframe déjà existante.
-
19
                
            
                demandé sur
                Community
                2016-10-24 22:03:52
            
        2 réponses
comme suggéré par @StevenG lui-même, une meilleure réponse:
df.columns = pd.MultiIndex.from_product([df.columns, ['C']])
print(df)
#    A  B
#    C  C
# a  0  0
# b  1  1
# c  2  2
# d  3  3
# e  4  4
19
	                    
	                
	                    répondu
	                    Romain
	                    2016-10-24 19:37:03
	                
	             option 1set_index et T
df.T.set_index(np.repeat('C', df.shape[1]), append=True).T
 option 2pd.concat,keys et swaplevel
pd.concat([df], axis=1, keys=['C']).swaplevel(0, 1, 1)
6
	                    
	                
	                    répondu
	                    piRSquared
	                    2016-10-24 19:19:11
	                
	            