5

次のような DataFrame があるとします。

      A      B
0    text1   200
1    text2   200
2    text1   400
3    text2   500
4    text1   300
5    text1   600
6    text2   300

次の出力を印刷したい

     A             B
0    text1,text2   200
2    text1         400
3    text2         500
4    text1,text2   300
5    text1         600

順序はありません。列「B」の値に一致する列「A」のテキストラベルを取得したいだけです。これはdf.groupby、私が知っているように行う必要があります。いずれにせよ、私の努力はまだ成功していません。あなたが私の質問を理解してくれることを願っています。

4

1 に答える 1

9

これは、単純な ol'でほぼ実行できます。sum

In [11]: df.groupby('B').sum()
Out[11]:
              A
B
200  text1text2
300  text1text2
400       text1
500       text2
600       text1

で集計を使用できますjoin

In [12]: df.groupby('B').agg(lambda x: ', '.join(x.values))
Out[12]:
                A
B
200  text1, text2
300  text1, text2
400         text1
500         text2
600         text1
于 2013-08-05T11:12:48.263 に答える