如何在复杂的条件下获得假人

时间:2017-03-09 12:41:25

标签: python pandas dataframe

我有以下数据框

   col  
A  a
A  b
A  c
B  d
B  e
C  f

我想获得虚拟变量

   a b c d e f 
A  1 1 1 0 0 0 
B  0 0 0 1 1 0  
C  0 0 0 0 0 1

我怎么能得到这个?

我试过

df.col.get_dummies()

但我不能分组。

1 个答案:

答案 0 :(得分:1)

您需要groupby索引并汇总max

print (df.col.str.get_dummies().groupby(level=0).max())
   a  b  c  d  e  f
A  1  1  1  0  0  0
B  0  0  0  1  1  0
C  0  0  0  0  0  1

或者:

print (pd.get_dummies(df.col).groupby(level=0).max())
   a  b  c  d  e  f
A  1  1  1  0  0  0
B  0  0  0  1  1  0
C  0  0  0  0  0  1