2016-10-01 2 views
0

Я пытаюсь вычислить среднее значение ВНП для каждой страны с 2006 по 2015 год. Но когда я применяю агрегацию со средней функцией, она не рассчитает среднее значение с 2006 по 2015 год. Вместо этого это просто отображать значения за каждый год. Скажите мне, что пошло не так? Я могу сортировать по странам, но среднее просто не работает с данными.using 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 Arab World 2015 2.767920e + 12 1 арабских World 2014 2.897113e + 12 2 Arab World 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 Араб World 2008 1.858270e + 12 8 Arab World 2007 1.547924e + 12 9 Араб World 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() 
Смежные вопросы