我想找出下面的加权平均数。你知道吗
a = {'Price': [10, 15, 5, 25, 30], 'Total': [10000, 12000, 15000, 14000, 0],
'Previous Quarter': [0, 10000, 12000, 15000, 14000]}
a = pd.DataFrame(a)
print (a)
我用下面的公式来做
a['Change'] = a['Total'] - a['Previous Quarter']
a['Amount'] = a['Price']*a['Change']
a['Cum Sum Amount'] = np.cumsum(a['Amount'])
a['WAP'] = (a['Cum Sum Amount'] / a['Total']).cummax()
我用的是cummax作为加权平均价格,如果总价格降低就不能降低。这是很好的,但是如果总价格上升,但价格下降,加权平均价格应该下降,但由于cummax它是无法做到的。你知道吗
有没有办法让你看到下面这样的东西:
a['Change'] = a['Total'] - a['Previous Quarter']
a['Amount'] = a['Price']*a['Change']
a['Cum Sum Amount'] = np.cumsum(a['Amount'])
a['WAP'] = [10, 10.83, 10.00, 10.00, 0]
加权平均价格只是收入/数量。将季度收入和业务量拆分为各自的列,然后将总和除以(这假设行按季度升序排列):
相关问题 更多 >
编程相关推荐