2016-10-01 176 views
0

我想從2006年到2015年計算每個國家的國民生產總值的平均值。但是當我應用具有均值函數的聚合時,它不會計算2006年到2015年的平均值,而只是它顯示每年的值。請告訴我出了什麼問題?我可以按國家分類,但意思是不會處理數據。使用numpy來計算平均值

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) 

輸出:

國家年NY.GNP.ATLS.CD 0阿拉伯世界2015年2.767920e + 12 1阿拉伯世界 2014 2.897113e + 12 2阿拉伯世界2013 2.832769e + 12 3阿拉伯 世界2012 2.590610e + 12 4阿拉伯世界2011 2.190786e + 12 5阿拉伯 世界2010 2.055967e + 12 6阿拉伯世界2009 1.932056e + 12 7阿拉伯 世界2008 1.858270e + 12 8阿拉伯世界2007 1.547924e + 12 9阿拉伯 2006年世界1.312967e + 12 10加勒比小國2015年6.680302e + 10 11加勒比小站TES 2014 6.664219e + 10

+0

請郵寄[最小的,完整的和可覈查的代碼示例](http://stackoverflow.com/help/mcve),否則,沒有人可以幫你。什麼是'wb'?什麼是'df_ex'和'df_ex1'?顯示你的進口! – MaxPowers

回答

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