2017-12-27 5 views

답변

0

사용 groupby + apply -

v = df.groupby(['A' ,'B']).C.apply(lambda x: x.tolist()) 

df = pd.DataFrame(v.tolist(), index=v.index)\ 
     .rename(columns=lambda x: x + 1)\ 
     .add_prefix('C')\ 
     .reset_index() 
df 

    A B C1 C2 C3 
0 1 x1 a a  b 
1 2 x2 b a None 
0

둘 다 제안이 작동하지만 일을 받아 들일 수, set_index

In [196]: (df.set_index(['A', 'B', df.groupby(['A', 'B']).cumcount()+1])['C'] 
      .unstack() 
      .add_prefix('C') 
      .reset_index()) 
Out[196]: 
    A B C1 C2 C3 
0 1 x1 a a  b 
1 2 x2 b a None 
+0

unstack 감사합니다 사용할 수 있습니다. – Josl

관련 문제