1
私は同じ列とインデックスを持つ別のpandas DataFrame(dfIdx
)の情報に基づいて合計したい情報を持つpandas DataFrame(df
)を持っています。次の形式の累積合計パンダインジケータ付きデータフレーム
df = pd.DataFrame([[172770, 1442, 114581],[35464, 67062, 175285],[124399, 14294, 44104],[50608, 58802, 189253],[1000, 10000, 100000]],columns=['A','B','C'])
とdfIdx:df
は、次の形式取る場合、特に、
dfIdx = pd.DataFrame([[0, 0, 1], [0, 0, 0], [0, 1, 0], [1, 1, 0],[0,0,1]],columns=['A','B','C'])
を私は結果がdf
前後の行を含むの行の累積和になりたいですdfIdx
の値は1
です。だから、結果は次のようになります。余分な信用のために
A B C
0 0 0 114581
1 0 0 0
2 0 82798 0
3 383241 58802 0
4 0 0 508642
、私は、累積合計が拠出が含まれてどこまで戻っに関しては柔軟になりたいです。
A B C
0 0 0 114581
1 0 0 0
2 0 81356 0
3 175007 58802 0
4 0 0 289253
は私が与えた元の例はすべて提供していませんでした実現:累積和のためのウィンドウが
1
ある場合たとえば、私は結果だけを与え、多くても1つの前の行に含めたいです結果として、提案された解決策は不完全でした。私は、より多様な行動を提供するために、別の行でデータを補強しました。
を使用することができます私が彼の 'df_group'を' dfIdx.loc [list(dfIdx.index)を逆にする]。cumsum()。loc [dfIdx.index、x.name] 'に変更すると、下の@ScottBostonによるようです。その他の提案はありますか? – DrTRD