可旋转的熊猫

时间:2018-08-10 14:14:14

标签: python pandas

我有一个这样的数据框:

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

在不使用python中的foreach循环的情况下,熊猫最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

最简单的是crosstab

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

另一种解决方案是GroupBy.sizeunstack

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