示例#1
0
def load_anos(estado):
    '''
    Lê dados do SIM diretamente do Cache.
    Todos os anos disponíveis para o Estado
    '''
    cols2read = ['NUMERODO', 'CODMUNOCOR', 'DTOBITO', 'CAUSABAS', 'IDADE', 'SEXO', 'LINHAA', 'LINHAB']
    anos = []
    for fi in cache_contents():
        if (f'SIM_DO{estado}' in fi):
            print("Loading ", fi)
            df = pd.read_parquet(fi, engine='pyarrow', columns=cols2read)
            df = converte_datas(df)
            df['idade'] = df.IDADE.apply(lambda x: decodifica_idade_SIM(x))
            df.set_index('DTOBITO', inplace=True)
            anos.append(df)
    #     print(meses)
    ddf = pd.concat(anos)
    return ddf
示例#2
0
 def test_decodifica_idade_retorna_em_anos_SIM(self):
     res = decoders.decodifica_idade_SIM(['501'], unidade='Y')
     assert_array_equal(res, np.array([101]))
     res = decoders.decodifica_idade_SIM(['401'] * 2, unidade='Y')
     assert_array_equal(res, np.array([1] * 2))
     res = decoders.decodifica_idade_SIM(['311'] * 3, unidade='Y')
     assert_array_almost_equal(res, np.array([0.904109589] * 3), decimal=3)
     res = decoders.decodifica_idade_SIM(['224'] * 4, unidade='Y')
     assert_array_almost_equal(res, np.array([0.065753425]*4), decimal=3)
     res = decoders.decodifica_idade_SIM(['130'] * 5, unidade='Y')
     assert_array_almost_equal(res, np.array([0.00274] * 5), decimal=3)
     res = decoders.decodifica_idade_SIM(['010'] * 6, unidade='m')
     assert_array_almost_equal(res, np.array([10.] * 6))
示例#3
0
 def test_decodifica_idade_retorna_em_anos_SIM(self):
     res = decoders.decodifica_idade_SIM(["501"], unidade="Y")
     assert_array_equal(res, np.array([101]))
     res = decoders.decodifica_idade_SIM(["401"] * 2, unidade="Y")
     assert_array_equal(res, np.array([1] * 2))
     res = decoders.decodifica_idade_SIM(["311"] * 3, unidade="Y")
     assert_array_almost_equal(res, np.array([0.904109589] * 3), decimal=3)
     res = decoders.decodifica_idade_SIM(["224"] * 4, unidade="Y")
     assert_array_almost_equal(res, np.array([0.065753425] * 4), decimal=3)
     res = decoders.decodifica_idade_SIM(["130"] * 5, unidade="Y")
     assert_array_almost_equal(res, np.array([0.00274] * 5), decimal=3)
     res = decoders.decodifica_idade_SIM(["010"] * 6, unidade="m")
     assert_array_almost_equal(res, np.array([10.0] * 6))