【发布时间】:2019-12-25 05:42:38
【问题描述】:
我有一个面板数据集,其中包含一组国家 [意大利和美国] 3 年和两个数字变量 ['Var1', 'Var2']。我想计算最近三年的变化率 例如:2019 年 Var1 的值减去 2017 年 Var1 的值除以 2017 年的 Var1。
我不明白为什么我的代码(如下)返回 NaN 错误?
data = {'Year':[2017, 2018, 2019, 2017, 2018, 2019], 'Country':['Italy', 'Italy', 'Italy', 'US' , 'US', 'US'], 'Var1':[23,75,45, 32,13,14], 'Var2':[21,75,47, 30,11,18]}
trend = pd.DataFrame(data)
list = ['Var1', 'Var2']
for col in list:
trend[col + ' (3 Year % Change)'] = ((trend.loc[trend['Year']==2019][col]- trend.loc[trend['Year']==2017][col])/trend.loc[trend['Year']==2017][col])*100
trend
【问题讨论】:
-
您希望每年与 2017 年相比吗?还是上一年?
标签: python pandas return panel