我想用熊猫做SUMIFS风格的计算。 Power Pivots DAX具有CALCULATE功能,可以很好地工作,但不会扩展到数百万行。熊猫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将是数据帧以上:
def cumulativeSpend(row):
returnvalue = df['Spend'][
(df['Customer']==row['Customer'])
& (df['Date'] <= row['Date'])
].sum()
return returnvalue
这些行是无序的,可能有使用groupby的方法,但如果有的话我还没有想出如何调整它,所以日期是< =每一行。
提前非常感谢
打我一分!尽管相同的基本方法。 – asongtoruin