我是这个数据框代码:
analytics = q1.groupby(['Year','YearMonth','glnumber','nom'])[['amount']].sum().reset_index()
#add previous sales to the next row
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['prev_$'] 除以 analytics['amount'] 来计算变异百分比
这是我的代码:
analytics['Perc_diff'] = analytics.apply(0 if analytics['amount'] == 0 else divide(analytics['diff'], analytics['amount']))
但是我有这个错误: ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
答案 0 :(得分:0)
你可以使用 np.where:
import numpy as np
analytics['Perc_diff'] = np.where(analytics['amount']==0,0,analytics['diff']/analytics['amount'])