示例#1
0
def get_age_spans():
    query = """
        SELECT age_group_id, age_group_years_start, age_group_years_end
        FROM shared.age_group"""
    db = EpiDB('epi')
    eng = db.get_engine(db.dsn_name)
    ags = pd.read_sql(query, eng)
    return ags
示例#2
0
def get_age_weights():
    query = """
        SELECT age_group_id, age_group_weight_value
        FROM shared.age_group_weight
        WHERE gbd_round_id = 3"""
    db = EpiDB('epi')
    eng = db.get_engine(db.dsn_name)
    aws = pd.read_sql(query, eng)
    return aws
示例#3
0
def get_pop():
    query = """
        SELECT age_group_id, year_id, location_id, sex_id, pop_scaled
        FROM mortality.output o
        LEFT JOIN mortality.output_version ov using (output_version_id)
        WHERE ov.is_best = 1
        AND year_id >= 1980 AND year_id <= 2015"""
    db = EpiDB('cod')
    eng = db.get_engine(db.dsn_name)
    pop = pd.read_sql(query, eng)
    return pop
示例#4
0
def get_pop(filters={}):
    query = """
        SELECT o.age_group_id, year_id, o.location_id, o.sex_id, pop_scaled
        FROM mortality.output o
        LEFT JOIN mortality.output_version ov using (output_version_id)
        LEFT JOIN shared.age_group a using (age_group_id)
        LEFT JOIN shared.location l using (location_id)
        LEFT JOIN shared.sex s using (sex_id)
        WHERE ov.is_best = 1
        AND year_id >= 1980 AND year_id <= 2015"""
    for k, v in filters.iteritems():
        v = np.atleast_1d(v)
        v = [str(i) for i in v]
        query = query + " AND {k} IN ({vlist})".format(
                k=k, vlist=",".join(v))
    db = EpiDB('cod')
    eng = db.get_engine(db.dsn_name)
    pop = pd.read_sql(query, eng)
    return pop
示例#5
0
from hierarchies import dbtrees
from transmogrifier import gopher, maths
import pandas as pd
import numpy as np
from itertools import cycle
from db import EpiDB
from multiprocessing import Queue, Process
from . import git_info

edb = EpiDB()
engine = edb.get_engine('epi')
sentinel = None


class SevSplitter(object):
    def __init__(self, parent_meid, prop_drawfile=None):
        self.parent_meid = parent_meid
        self.lt = dbtrees.loctree(None, location_set_id=35)
        self.ags = self.age_groups()
        self.child_meids = self.get_children()
        if prop_drawfile is None:
            self.props = self.get_split_proportions()
            self.props = self.gen_proportion_draws()
        else:
            self.props = pd.read_csv(prop_drawfile)

    def get_children(self):
        q = """
            SELECT parent_meid, child_meid
            FROM severity_splits.hierarchy h
            JOIN severity_splits.hierarchy_version hv