いくつかの行にまたがる2つの列に2つのデータセットを集約するパンダのピボットテーブルがあります。行ごとに既存の2つの列の集計値の差である別の列を追加したいと思います。これをpivot_table()呼び出しで直接実装する方法はありますか?返されたピボットがデータフレームであることを知っているので、他の方法で計算できますが、より効率的な方法があるかどうかだけが気になります。
私のデータの簡単な例:
Set Type Val
S1 A 1
S1 B 2
S1 B 3
S2 A 4
S2 B 5
S2 C 6
データが私のdfである次のコードを使用する
piv=pivot_table(data,'Val',rows='Type',cols='Set',aggfunc=sum,fill_value=0.0)
私は以下を取得します
S1 S2
A 1 4
B 5 5
C 0 6
出力を
S1 S2 Diff
A 1 4 3
B 5 5 0
C 0 6 6
あるいは単に
Diff
A 3
B 0
C 6