def test_fechas_columna(símismo): fechas = ['1947-8-14', '1947-8-15'] bd = MicroDatos('prueba', pd.DataFrame({ 'a': [1, 2], 'f': fechas }), tiempo='f') lista_fechas_igual(bd.obt_datos('a')['tiempo'].values, fechas)
def test_lugares_columna(símismo): lugar = ['1', '2'] bd = MicroDatos('prueba', pd.DataFrame({ 'a': [1, 2], 'l': lugar }), lugar='l') lugares_bd = bd.obt_datos('a').lugar.values.tolist() símismo.assertListEqual(lugares_bd, lugar)
def setUpClass(cls): dic_datos = { 'lugar': [708, 708, 7, 7, 7, 701], 'fecha': ['2000', '2002', '2000', '2002', '2003', '1990'], 'var_completo': [1, 2, 2, 3, 4, 0], 'var_incompleto': ['', 10, 20, '', 30, 15], 'temp': [1, 1, 1, 1, 1, 1] } cls.bds = { 'pandas': MicroDatos('Pandas', pd.DataFrame(dic_datos)), 'csv': MicroDatos('CSV', arch_microdatos), 'dic': MicroDatos('Dic', dic_datos), 'dic_anidado': MicroDatos( 'Dic Anidado', { '708': { 'fecha': ['2000', '2002'], 'var_completo': [1, 2], 'var_incompleto': ['', 10], 'temp': [1, 1] }, '7': { 'fecha': ['2000', '2002', '2003'], 'var_completo': [2, 3, 4], 'var_incompleto': [20, '', 30], 'temp': [1, 1, 1] }, '701': { 'fecha': ['1990'], 'var_completo': [0], 'var_incompleto': [15], 'temp': [1] } }), 'xarray': MicroDatos('Xarray', xr.Dataset({ 'var_completo': ('n', dic_datos['var_completo']), 'var_incompleto': ('n', dic_datos['var_incompleto']), 'fecha': ('n', dic_datos['fecha']), 'lugar': ('n', dic_datos['lugar']) }), tiempo='fecha', lugar='lugar') }
def test_desconectar_datos(símismo): bd_temp = MicroDatos(nombre='temp', fuente=arch_microdatos, tiempo='fecha', lugar='lugar') símismo.bd.conectar_datos(bd=bd_temp) símismo.bd.desconectar_datos(bd=bd_temp) símismo.assertNotIn(bd_temp.nombre, símismo.bd.bds)
def setUpClass(cls): n_obs = 50 datos_x = np.random.rand(n_obs) datos_y = cls.paráms['a'] * datos_x + cls.paráms['b'] + np.random.normal(0, 0.1, n_obs) bd_pds = pd.DataFrame({'y': datos_y, 'x': datos_x}) bd_datos = MicroDatos('Datos Generados', bd_pds) cls.bd_datos = SuperBD(nombre='BD Principal', bds=bd_datos) cls.bd_datos.espec_var('x') cls.bd_datos.espec_var('y')
def setUpClass(cls): bd_región = Datos(nombre='prueba regional', fuente=arch_reg, tiempo='fecha', lugar='lugar') bd_indiv = MicroDatos(nombre='prueba individual', fuente=arch_microdatos, tiempo='fecha', lugar='lugar') cls.bd = SuperBD(nombre='BD Central', bds=[bd_región, bd_indiv], auto_conectar=True) cls.bd.espec_var(var='completo', var_bd='var_completo') cls.bd.espec_var(var='incompleto', var_bd='var_incompleto')
def setUpClass(cls): n_obs = {'701': 500, '708': 50, '1001': 500} datos_x = {lg: np.random.rand(n) for lg, n in n_obs.items()} datos_y = {lg: datos_x[lg] * d['Factor a'] + d['Factor b'] + np.random.normal(0, 0.1, n_obs[lg]) for lg, d in cls.paráms.items()} # y = a*x + b lugares = [x for ll, v in datos_x.items() for x in [ll] * v.size] x = [i for v in datos_x.values() for i in v] y = [i for v in datos_y.values() for i in v] bd_pds = MicroDatos('Datos geográficos', pd.DataFrame({'lugar': lugares, 'x': x, 'y': y}), lugar='lugar') cls.geog = Geografía('Geografía Iximulew', arch_csv_geog) cls.bd = SuperBD('BD Central', bd_pds) cls.mod = ModeloPySD(arch_mds)
def test_obt_datos_código_vacío(símismo): bd = MicroDatos('prueba', pd.DataFrame({'a': [1, 2, 'jaja']}), cód_vacío='jaja') npt.assert_array_equal(bd.obt_datos('a')['a'], [1, 2, np.nan])
def test_lugares_texto(símismo): bd = MicroDatos('prueba', pd.DataFrame({'a': [1, 2]}), lugar='708') lugares_bd = bd.obt_datos('a').lugar.values.tolist() símismo.assertListEqual(lugares_bd, ['708'] * 2)
def test_fechas_error(símismo): with símismo.assertRaises(ValueError): MicroDatos('pueba', pd.DataFrame({'a': [1, 2]}), tiempo='No soy una columna')
def test_fecha_texto(símismo): fecha = '1966-7-21' bd = MicroDatos('prueba', pd.DataFrame({'a': [1, 2]}), tiempo=fecha) lista_fechas_igual(bd.obt_datos('a')['tiempo'].values, [fecha] * 2)
def test_fechas_ft(símismo): fecha = ft.date(1966, 1, 1) bd = MicroDatos('prueba', pd.DataFrame({'a': [1, 2]}), tiempo=fecha) lista_fechas_igual(bd.obt_datos('a')['tiempo'].values, [fecha] * 2)
def test_fechas_texto_año(símismo): bd = MicroDatos('prueba', pd.DataFrame({'a': [1, 2]}), tiempo='1966') lista_fechas_igual( bd.obt_datos('a')['tiempo'].values, [ft.date(1966, 1, 1)] * 2)