2016-06-20 19 views
2

文字列を結合することに関するデータセットを解析するときに問題が発生しました。 データフレームは、以下のいずれかのように見えます:あなたが見ることができるようにpython pandasで文字列を結合

IP  Event 
01  check 
01  redo 
01  view 
02  check 
02  check 
03  review 
04  delete 

、IPは重複が含まれています。私の質問は、どのように私はorder.Forの例では、各IPでのイベント・グループを組み合わせた結果を得ることができ、私が探している結果があるさ:

IP result 
01 check->redo->view 
02 check->check 
03 review 
04 delete 

答えて

3

はこれを試してみてください。

In [27]: df.groupby('IP').agg('->'.join).reset_index() 
Out[27]: 
    IP    Event 
0 01 check->redo->view 
1 02  check->check 
2 03    review 
3 04    delete 

または

In [26]: df.groupby('IP').agg('->'.join) 
Out[26]: 
       Event 
IP 
01 check->redo->view 
02  check->check 
03    review 
04    delete 
+0

おかげで、バディを!今それは動作します – Ethan

+0

@エタンバオ、あなたは大歓迎です! :) [accepting](http://meta.stackexchange.com/a/5235)が最も役立つ答えと考えてください - これはあなたの質問に答えられたことを示します – MaxU

1

ラムダでこれを試してみてください:

df.groupby("IP")['Event'].apply(lambda x: '->'.join(x)).reset_index() 


    # IP   Event 
# 0 1 check->redo->view 
# 1 2  check->check 
# 2 3    review 
# 3 4    delete 
関連する問題