対応する名前フィールドに存在するグループ化された値のコメントのすべての値に対してループ処理が必要なソースデータフレームがあり、その結果を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]
を使用することができます ')('適用をお探しですか? – Jan
@Jan - ありがとう。 はい、私はこのようなものを探していました。私は(適用試み ): 'データ2 = Data1.apply(STR、軸= 1)' ' プリント(データ2)' Iは、以下の形式で奇妙な出力を取得しています: '2名N -1 \ nコメント... ' ' 16名前N-1 \ nコメント... ' –
ピボットを確認してください、この回答:http://stackoverflow.com/questions/22798934/pandas-long-to-wide-breape #35087831 - 長いテーブルを幅広くしたいだけです。 – kabanus