Necesidad de transponer un marco de datos de pandas
Tengo una serie que se ve así:
col1 id
0 a 10
1 b 20
2 c 30
3 b 10
4 d 10
5 a 30
6 e 40
Mi salida deseada es esta:
a b c d e
10 1 1 0 1 0
20 0 1 0 0 0
30 1 0 1 0 0
40 0 0 0 0 1
Tengo este código:
import pandas as pd
df['dummies'] = 1
df_ind.pivot(index='id', columns='col1', values='dummies')
Me sale un error:
137
138 if mask.sum() < len(self.index):
--> 139 raise ValueError('Index contains duplicate entries, '
140 'cannot reshape')
141
ValueError: Index contains duplicate entries, cannot reshape
Hay identificaciones duplicadas porque se pueden atribuir múltiples valores en col1 a una única identificación.
¿Cómo puedo lograr el resultado deseado?
¡Gracias!