2012-09-26 50 views
5

Ho un dataframe:Pandas dataframe gerarchica

Form nr Element Type Text Options 
    1 Name1 select text1 op1 
    1 Name1 select text op2 
    1 Name1 select text op3 
    1 Name2 input text2 NaN 
    2 Name1 input text2 NaN 

C'è un modo per greate un indice gerarchico "annidati" come questo:

Form nr Element Type Text Options 
    1 Name1 select text1 op1 
           op2 
           op3 
     Name2 input text2 NaN 
    2 Name1 input text2 NaN 

risposta

13

presumere che vi sia un errore di battitura nella colonna di testo, testo < -> testo1? Partirò dal tuo primo DataFrame.

In [11]: df 
Out[11]: 
    Form nr Element Type Test Options 
0  1  Name1 select text1  op1 
1  1  Name1 select text  op2 
2  1  Name1 select text  op3 
3  1  Name2 input text2  NaN 
4  2  Name1 input text2  NaN 

In [12]: df.set_index(['Form', 'nr Element', 'Type', 'Test']) 
Out[12]: 
          Options 
Form nr Element Type Test   
1 Name1  select text1  op1 
         text  op2 
         text  op3 
    Name2  input text2  NaN 
2 Name1  input text2  NaN 
+1

Grazie mille. Ha funzionato come un fascino. – root

+0

Puoi spiegare questa risposta o link alla relativa documentazione? – Mike

+0

http://pandas.pydata.org/pandas-docs/stable/advanced.html –