I'm looking to transpose pandas columns and apply a Groupby
df = pd.DataFrame({'ID' : ['ID1', 'ID2', 'ID3', 'ID4'],
'Code1' : ['X60', np.nan, 'X66', np.nan],
'Code2' : [np.nan, 'X64', 'X78', np.nan],
'Code3' : [np.nan, 'X66', 'X81', 'X59'],
'Code4' : [np.nan, np.nan, 'X38', 'X60']})
df
ID Code1 Code2 Code3 Code4
0 ID1 X60 NaN NaN NaN
1 ID2 NaN X64 X66 NaN
2 ID3 X66 X78 X81 X38
3 ID4 NaN NaN X59 X60
How can I achieve this expected output ?
Code NB ID
X38 1 ID3
X59 1 ID4
X60 2 ID1, ID4
X64 1 ID2
X66 2 ID2, ID3
X78 1 ID3
X81 1 ID3