百分比变化熊猫数据框

时间:2021-03-23 18:10:12

标签: python pandas

我是这个数据框代码:

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()。

1 个答案:

答案 0 :(得分:0)

你可以使用 np.where:

import numpy as np
analytics['Perc_diff'] = np.where(analytics['amount']==0,0,analytics['diff']/analytics['amount'])