1
私はPandasの2つのインデックスに基づいて行のサブセットを集計する方法を理解しようとしています。最初の索引は行をグループ化し、2番目の索引は合計する行を決定します。最小限例えば、私はデータフレーム、私は、インデックス1
と2
に対応する行を合計することができますが、それでも彼らはインデックスa
とb
の下にグループ化されている方法Pandasの条件付き行を集計する
index1 | index2 | value
------------------------
a | 1 | 10
a | 2 | 11
a | 3 | 12
b | 1 | 20
b | 2 | 21
b | 3 | 22
があるとします。私は以下の結果を得た。ここで
index1 | index2 | value
------------------------
a | 1 | 21
a | 2 | 12
b | 1 | 41
b | 2 | 22
1
のindex2
と2
に対応する行は1
の新しいindex2
に加算されています。
おかげで、それは最小限例えば動作しますが、それはスケールしません。 'index2'が' 1,2,3,4'の範囲にある場合、3つの代わりに2つのグループを最後に返します。あなたは答えにいくつかの説明を与えてもらえますか?私はそれを自分のニーズに合わせて調整する方法を考え出すことができますか? – mv3
上記の方法は、1と2をすべて1に変換し、他のすべての値を最終グループ変数として2に変換するので、2つのグループしか持たない。 'df.groupby([df.index1、df.index2.replace(2,1)]]のように、1と2をグループとして組み合わせたい場合は、2を1に置き換えてみてください。 ).value.sum()。reset_index() 'を実行します。この場合、結果索引には '2'が欠けています。 – Psidom
これはすばらしいことですが、後でインデックスを調整します。 – mv3