def get_population_projection(ctrs, dataset='all'): new_df = Frame.Frame() data_frame = load_projections(dataset=dataset) for r in data_frame: if (r.get_by_column_name('entity').get_value() in ctrs): new_df.rows.append(r) return new_df
def get_projection_by_group(group, dataset='all'): ctrs = c.get_country_names_and_aliases(c.get_countries_in_group([group])) new_df = Frame.Frame() data_frame = load_projections(dataset=dataset) for r in data_frame: if (r.get_by_column_name('entity').get_value() in ctrs): new_df.rows.append(r) return new_df
def load_data(): df = pd.read_excel(un_ldc_data_2018_data_source) tdf = Frame.Frame() cols = df.columns.values for i in range(0, len(df)): new_row = {} for j in range(0, len(df.columns)): new_row[cols[j]] = df.iloc[i, j] tdf.add_row(new_row) return tdf
def get_age_group(age_group, countries): data = load_age_groups() new_data = Frame.Frame() for r in data: if (r.get_by_column_name('entity').get_value() in countries): new_data.append(r) new_data = new_data.wide('entity', age_group, 'Reference date (as of 1 July)') return new_data
def get_indicators(groups=[]): data = load_data() new_df = Frame.Frame() ctrs = [] if len(groups) > 0: for g in groups: ctrs = ctrs + c.get_country_names_and_aliases( c.get_countries_in_group([g])) for r in data: if (r.get_by_column_name('entity').get_value() in ctrs): new_df.rows.append(r) return new_df return (load_data())
def load_projections(dataset='all'): if dataset == 'all': df = pd.read_excel(cache_folder + "/UN_PPP2019_PopTot.xlsx") if dataset == '0-24': df = pd.read_excel(cache_folder + "/UN_PPP2019_Output_Pop0-24.xlsx") tdf = Frame.Frame() cols = df.columns.values for i in range(0, len(df)): new_row = {} for j in range(0, len(df.columns)): new_row[cols[j]] = df.iloc[i, j] tdf.add_row(new_row) return tdf
def load_age_groups(): df = pd.read_excel( cache_folder + "/WPP2019_POP_F15_1_ANNUAL_POPULATION_BY_AGE_BOTH_SEXES.xlsx") df["0-29"] = df.iloc[:, 3:9].sum(axis=1) df["0-14"] = df.iloc[:, 3:6].sum(axis=1) df["0-19"] = df.iloc[:, 3:7].sum(axis=1) tdf = Frame.Frame() cols = df.columns.values for i in range(0, len(df)): new_row = {} for j in range(0, len(df.columns)): new_row[cols[j]] = df.iloc[i, j] tdf.add_row(new_row) return tdf
def get_data_frame(**kwargs): df = Frame.Frame() _name = str(kwargs["name"]) data = get(name=_name, years=kwargs["years"], countries=kwargs['countries']) for item in data['data']: df.add_row(item) df.id = data['name'] df.description = data['description'] df.source = data['source'] df.source_url = data['sourceurl'] return df