root
root

Reputation: 80346

Pandas hierarchical dataframe

I have a dataframe:

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

Is there a way to greate a "nested" hierarchical index like this:

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

Upvotes: 5

Views: 5330

Answers (1)

Wouter Overmeire
Wouter Overmeire

Reputation: 69136

Assuming there is a typo in the Text column, text <-> text1? I`ll go from your first 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

Upvotes: 14

Related Questions