Customization
import pandas as pd
data = [
[1, 'a', None, None],
[1, None, 'r', None],
[1, None, None, 's'],
[2, None, 'd', None],
[2, 'q', None, None],
[3, None, 'b', None],
[3, 'w', None, None]
]
df = pd.DataFrame(data, columns=['id', 'A', 'B', 'C'])
df looks like
id A B C
0 1 a None None
1 1 None r None
2 1 None None s
3 2 None d None
4 2 q None None
5 3 None b None
6 3 w None None
Decision
df.set_index('id').stack().unstack()
Looks like
A B C
id
1 a r s
2 q d None
3 w b None
source
share