this is my dataframe analytics: glnumber,nom,Year, YerarMonth,nom,amount
4020 Honoraires de consultation,,2018,201809,234294.31000
4020 Honoraires de consultation,,2018,201810,166337.95000
4020 Honoraires de consultation,,2018,201811,250590.67000
4020 Honoraires de consultation,,2018,201812,92206.82000
4020 Honoraires de consultation,,2019,201901,196868.71000
4020 Honoraires de consultation,,2019,201902,148145.20000
4020 Honoraires de consultation,,2019,201903,110973.24000
4020 Honoraires de consultation,,2019,201904,184858.18000
4020 Honoraires de consultation,,2019,201905,119166.87000
4020 Honoraires de consultation,,2019,201906,10428.10000
4020 Honoraires de consultation,,2019,201907,19927.05000
4020 Honoraires de consultation,,2019,201908,-22677.79000
4020 Honoraires de consultation,,2019,201909,-8560.00000
4020 Honoraires de consultation,,2020,202004,-26.25000
4020 Honoraires de consultation,,2020,202007,-0.02000
4020 Honoraires de consultation,,2021,202101,-105.00000
4020 Honoraires de consultation,,2021,202103,104.99000
4020 Honoraires de consultation,Aclient1,2020,202007,9000.00000
4020 Honoraires de consultation,Aclient1,2020,202008,14040.00000
4020 Honoraires de consultation,Aclient1,2020,202010,31185.00000
4020 Honoraires de consultation,Aclient1,2020,202011,14310.00000
4020 Honoraires de consultation,Aclient1,2020,202012,11160.00000
4020 Honoraires de consultation,Aclient1,2021,202101,14490.00000
4020 Honoraires de consultation,Aclient1,2021,202102,14670.00000
4020 Honoraires de consultation,Aclient2,2020,202003,21045.00000
4020 Honoraires de consultation,Aclient2,2020,202004,13340.00000
4020 Honoraires de consultation,Aclient2C,2020,202006,15640.00000
4020 Honoraires de consultation,Aclient2,2020,202008,54165.00000
4020 Honoraires de consultation,Aclient2,2020,202010,51750.00000
4020 Honoraires de consultation,Aclient2,2020,202011,23000.00000
4020 Honoraires de consultation,Aclient2,2020,202012,19550.00000
4020 Honoraires de consultation,Aclient2,2021,202101,21850.00000
4020 Honoraires de consultation,Aclient2,2021,202102,23000.00000
4020 Honoraires de consultation,Aclient3,2020,202001,937.50000
4020 Honoraires de consultation,Aclient2,2020,202003,437.50000
I want to have difference of amount with same gl, same client with previous month
I tried this but does not work
# check frequency by month by gl
analytics = q1.groupby(['glnumber','nom','Year','YearMonth'])[['amount']].sum().reset_index()
# order
#add previous sales to the next row
if analytics['glnumber'] == analytics['glnumber'].shift(1) and analytics['nom'] == analytics['nom'].shift(1):
analytics['prev_$'] = 0
else:
analytics['prev_$'] = analytics['amount'].shift(1)
#drop the null values and calculate the difference
analytics = analytics.dropna()
analytics['diff'] = (analytics['amount'] - analytics['prev_$'])
analytics = analytics.drop(['prev_$'],
axis='columns')
analytics['Perc_diff'] = np.where(analytics['amount']==0,0,analytics['diff']/analytics['amount'])
my if condition is not working due to this error: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().