I need to aggregate data with the same id's into one row, but save the different Code's into different columns. For example: the input dataframe can be:
d = {'id': ['a', 'a', 'a', 'b', 'b', 'b'], 'Code': ['11', '12', '13', '14', '15', '16']}
df10 = pd.DataFrame(data=d)
print(df10)
id Code
0 a 11
1 a 12
2 a 13
3 b 14
4 b 15
5 b 16
But the output needs to be like this:
d = {'id': ['a', 'b'], 'Code': ['11', '14'], 'Code_2':['12', '15'], 'Code_3':['13', '16']}
df11 = pd.DataFrame(data=d)
print(df11)
id Code Code_2 Code_3
0 1 11 12 13
1 2 14 15 16
I tried multiple ways. Closest was code i found on a different question that did at least the aggregation part
df10.groupby('id')['Code'].apply(' '.join).reset_index()
But that gives an output where the different codes are saved into one column as one long string, not saved into multiple columns.
id Code
0 a 11 12 13
1 b 14 15 16
Does anyone know how to do this? Big thanks :)