2016-10-28 6 views
1

対応する名前フィールドに存在するグループ化された値のコメントのすべての値に対してループ処理が必要なソースデータフレームがあり、その結果をDFの新しい列として追加する必要があります。これは新しいDataFrameにも組み込むことができます。データフレーム要素へのアクセス

入力データ:例えば

 Name   Comments 
0  N-1    Good 
1  N-2    bad 
2  N-3    ugly 
3  N-1   very very good 
4  N-3   what is this 
5  N-4   pathetic 
6  N-1   needs improvement 
7  N-2   this is not right 
8  Ano-5  It is average 

[8 rows x 2 columns] 

- のコメントの全ての値の名前N-1、ループを実行し、これら2つの値と一緒に新たな列として出力を追加(名、コメント) 。

私は以下のことを試みて、名前に基づいてグループ化することができました。しかし、私は、出力を追加するためにそれらのコメントのすべての値を介して実行することができません:ループすることにより、グループ内

gp = CommentsData.groupby(['Document']) 

for g in gp.groups.items(): 
    Data1 = CommentsData.loc[g[1]] 
    #print(Data1) 

データは次のように来る:

Name  Comments 
0 N-1   good 
3 N-1  very very good 
6 N-1  needs improvement 


1 N-2   bad 
7 N-2  this is not right 

私は2番目の列の値にアクセスすることができません。 使用df.iloc[i] - 最初の要素にのみアクセスできます。しかし、すべてではありません(要素の数が名前の異なる値によって異なるため)。

ここで、コメントの値を使用して、出力をデータフレームの追加列として追加します(新しいDFにすることもできます)。

予想される出力:

 Name   Comments    Result 
0  N-1    Good     A 
1  N-2    bad     B 
2  N-3    ugly     C 
3  N-1   very very good    A 
4  N-3   what is this    B 
5  N-4   pathetic     C 
6  N-1   needs improvement   C 
7  N-2   this is not right   B 
8  Ano-5   It is average    B 

[8 rows x 3 columns] 
+0

を使用することができます ')('適用をお探しですか? – Jan

+0

@Jan - ありがとう。 はい、私はこのようなものを探していました。私は(適用試み ): 'データ2 = Data1.apply(STR、軸= 1)' ' プリント(データ2)' Iは、以下の形式で奇妙な出力を取得しています: '2名N -1 \ nコメント... ' ' 16名前N-1 \ nコメント... ' –

+0

ピボットを確認してください、この回答:http://stackoverflow.com/questions/22798934/pandas-long-to-wide-breape #35087831 - 長いテーブルを幅広くしたいだけです。 – kabanus

答えて

0

あなたはapplyreset_index

df.groupby('Name').Comments.apply(pd.DataFrame.reset_index, drop=True).unstack() 

enter image description here

+0

私が達成したのは以下のデータのリストです: '[配列([u'N-1 ']、dtype =オブジェクト)、u'Good'、 'A'、配列([u'N-2 ']、dtype = object)、u'Bad'、 'B'] ' 1行のデータは3つの要素(N-1、Good、A)に分割され、別の行が後に続く-1行のデータ(N-2、不良、B)からのデータ。 私は今、一度に3つの要素を読み込み、それらを使用する方法を突きつけています。 –

+0

私はそれを感謝した。 要素をループして関連する要素に結合しました。 ご回答ありがとうございます。 –

関連する問題