我正在尝试计算从2006年到2015年每个国家的GNP平均值。但是当我使用平均函数应用聚合时,它不会计算从2006年到2015年的平均值。相反,它只显示每个国家的值。年。请告诉我出了什么问题?我可以按国家排序,但意思是不会对数据进行处理。
wb_indicator = 'NY.GNP.ATLS.CD'
start_year = 2006
end_year = 2015
df_ex = wb.download(indicator = wb_indicator,
country = ['all'],
start = start_year,
end = end_year)
df_ex1 = df_ex.reset_index()
df_ex1.groupby(['country']).agg({'NY.GNP.ATLS.CD': [np.mean]})
df_ex1.head(20)
输出:
country year NY.GNP.ATLS.CD 0 Arab World 2015 2.767920e + 12 1 Arab 世界2014 2.897113e + 12 2阿拉伯世界2013 2.832769e + 12 3阿拉伯 World 2012 2.590610e + 12 4 Arab World 2011 2.190786e + 12 5 Arab 世界2010 2.055967e + 12 6阿拉伯世界2009 1.932056e + 12 7阿拉伯 世界2008 1.858270e + 12 8阿拉伯世界2007 1.547924e + 12 9阿拉伯 World 2006 1.312967e + 12 10加勒比小国2015年6.680302e + 10 11加勒比小国2014年6.664219e + 10
答案 0 :(得分:0)
这应该有效
import pandas as pd
import wbdata as wb
import datetime
wb_indicator = 'NY.GNP.ATLS.CD'
data_date = (datetime.datetime(2006, 1, 1), datetime.datetime(2015, 1, 1))
data = wb.get_data(wb_indicator, data_date=data_date, pandas=True)
gnp_means = data.reset_index().groupby('country').mean()