if I have a dataframe:
>>> import pandas as pd
>>> df = pd.DataFrame({'grp':['A', 'A', 'B', 'B', 'B'], 'pos' : [1, 2, 1, 2, 3], 'desc1' : ['X1', 'X2', 'Y1', 'Y2', 'Y3'], 'desc2' : ['A1', 'A2', 'A1', 'A2', 'A3']})
>>> df['desc'] = df.desc1 + ' (' + df.desc2 + ')'
>>> df = df.drop(columns=['desc1', 'desc2'])
>>> df
  grp  pos     desc
0   A    1  X1 (A1)
1   A    2  X2 (A2)
2   B    1  Y1 (A1)
3   B    2  Y2 (A2)
4   B    3  Y3 (A3)
>>>
I would like to transform i to the following dataframe:
  grp     pos1     pos2     pos3
0   A  X1 (A1)  X2 (A2)     None
1   B  Y1 (A1)  Y2 (A2)  Y3 (A3)
I would like to group everything by "grp" and for each position to have desc in column cell. Groups have variable number of positions. How to do the transformation?
Regards.
 
     
    