Сводная таблица в пандах

У меня есть такой Dataframe:

Col1 Col2
A    Foo1
A    Foo3
B    Foo1
B    Foo3
B    Foo4
C    Foo1
D    Foo3
D    Foo4

И мне нужен такой вывод:

       Foo1     Foo3      Foo4
A    1             1            0
B    1             1            1
C    1             0            0
D    0             1            1

Каков самый простой способ достичь этого в pandas без использования циклов foreach в python.

1
0
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Самый простой - crosstab:

df1 = pd.crosstab(df['Col1'], df['Col2'])

Другое решение - GroupBy.size с unstack:

df1 = df.groupby(['Col1','Col2']).size().unstack(fill_value=0)

print (df1)
Col2  Foo1  Foo3  Foo4
Col1                  
A        1     1     0
B        1     1     1
C        1     0     0
D        0     1     1

Другие вопросы по теме