2017-08-01 18 views
2

の値に基づいて、2つの列Iのpython /パンダにかなり新たなんだと私はこのような何かに見えるデータフレームがあります。パンダ:グループ別の列

id   name  color 
id_1  alex  blue 
id_2  james  yellow 
id_1  sara  black 
id_4  dave  pink 
id_4  lin   grey 
id_2  aly   red 

を私はidでグループ化すると取得他の2つの列の値をリストとして表示します。

id   name    color 
id_1  [alex,sara]  [blue,black] 
id_2  [james,aly]  [yellow,red] 
id_4  [dave,lin]  [pink,grey] 

これを行う簡単な方法はありますか? tolistとカスタム関数によって

+0

の可能性のある重複https://stackoverflow.com/questions/34776651/concatenate-rows-of-pandas-dataframe-with-same-id – piroot

答えて

2

使用groupbyagg

df = df.groupby('id').agg(lambda x: x.tolist()) 
print (df) 
       name   color 
id        
id_1 [alex, sara] [blue, black] 
id_2 [james, aly] [yellow, red] 
id_4 [dave, lin] [pink, grey] 
+1

パーフェクト、ありがとう! +1 – Shushu

関連する問題