パンダでSUMIFSスタイルの計算をしようとしています。 Power Pivots DAXは完璧に動作するが、何百万行ものスケールに対応していない計算機能を備えています。パンダSUMIFS、行に依存するフィルタ
として単純な例は、累積合計列を計算するためにデータフレームを使用することになる。
:Index Customer Spend Date Cumulative Total
0 A 100 16/08/2017 280
1 A 50 15/08/2017 180
2 B 30 15/08/2017 165
3 A 50 14/08/2017 130
4 B 75 14/08/2017 135
5 C 60 14/08/2017 80
6 A 80 13/08/2017 80
7 B 60 13/08/2017 60
8 C 20 12/08/2017 20
DFが上記データフレームであろうと、IVEは、行上に関数を適用しようとしたが、それは非常に遅いです
def cumulativeSpend(row):
returnvalue = df['Spend'][
(df['Customer']==row['Customer'])
& (df['Date'] <= row['Date'])
].sum()
return returnvalue
行の順序は異なりますが、groupbyを使用する方法があるかもしれませんが、調整する方法がわからなければ、日付は< =各行です。事前
分で私を打つ!しかし、同じ基本的なアプローチ。 – asongtoruin