の外にカウントして新しい列を抽出:私はこのようなパンダのデータフレームを扱っていますパンダのデータフレームGROUPBY
Day Hour Prio Value
0 1 6 Critical 1
1 1 16 Critical 1
2 1 17 Content 1
3 1 17 Low 1
6 1 19 Critical 1
7 1 20 High 1
8 2 10 High 1
9 2 10 Low 2
そして今、私は数を表す新しい列を生成しながら、デイや時間によってグループ化する必要現在の列value
に存在する列Prio
の各値のだから私はこの構造を達成したい:
Day Hour Critical Content Low High
0 1 6 1 0 0 0
1 1 16 1 0 0 0
2 1 17 0 1 1 0
6 1 19 1 0 0 0
7 1 20 0 0 0 1
8 2 10 0 0 2 1
私は今、さまざまなことを試みたが、むしろうまくいっていない。私は、これらのデータフレームを集約して、他の列をDayとHourでさらに集約してさらに集約することを目標にしています。特に、優先度の中で1日あたりの割合の割合が必要です(少なくとも1つの非ゼロ値が常に存在します)。
以前の解決策では、各行を繰り返して単一の値を抽出していましたが、これはかなり遅かったです。私はデータをbokehサーバーアプリケーション内でライブで更新する必要があるので、できるだけ効率的にしておきたいと思います。たぶん、itertuples
またはこれに類するものを使用しないで解決策がありますか?ありがとうございました!
'unstack'はここミッシングリンクだったと私はそれがなくてもどうやって暮らすことができるのか分かりません。あなたのソリューションと 'pivot_table'は私の謙虚な従来のアプローチと比べて、完璧にうまく動作し、優れたパフォーマンスを発揮します。ありがとう! – AdmPicard