2017-01-25 1 views
0

サブセットの行を新しい変数に追加する方法を探しています。panda data.frameのバインド値

私たちは、次のデータセット

df = pd.DataFrame(columns=('Body', 'ticketID')) 
df2 = pd.DataFrame([["test1", 1], ["test2",1], ["test3",2], ["test4",2]], columns=('Body', 'ticketID')) 
df = df.append(df2) 

を持っていると私はticketID

uniqueIDs = df.ticketID.unique() 
for u in uniqueIDs: 
df_temp = df2.loc[df['ticketID'] == u] 

の一意の値が今、私は余分なものを作成したいと思います使用して独自のdata.frames「df_temp」を作成しましょうステップは、別々のdata.frameのボディ値をバインドします。したがって、ticketID == 1の場合 - > "test1 test2"、ticketID == 2の場合 "test3 test4"です。

私はむしろDFをループよりも、あなたがID列にgroupbyを使用することができます

+1

あなたの質問は不明です、希望の出力を表示してください。 'df.groupby( 'ticketID')['Body']が必要なように聞こえます。apply( '' .join) – EdChum

+0

@EdChum、ありがとう。これは私が探していたものです! –

答えて

1

上記の例を使ってこれを実現する方法上の任意の考えやapplyjoin

In [82]: 
df.groupby('ticketID')['Body'].apply(' '.join) 

Out[82]: 
ticketID 
1.0 test1 test2 
2.0 test3 test4 
Name: Body, dtype: object 
関連する問題