def variety(db): for q in variety_queries['create']: iquery(db, q) variety = variety_schema.split('<')[0].strip() yield variety for q in variety_queries['clean']: iquery(db, q)
def setup(db): for q in types_queries['create']: iquery(db, q) yield True for q in types_queries['clean']: iquery(db, q)
def setup(db): for q in types_queries['create']: iquery(db, q) yield True for q in types_queries['clean']: iquery(db, q)
def test_fetch_dataframe(self, db, type_name, schema): # Pandas DataFrame ar = iquery(db, 'build(<val:{}>[i=1:10,10,0], random())'.format(type_name), fetch=True, schema=schema) assert ar.shape == (10, 2) assert ar.ndim == 2
def test_fetch_dataframe(self, db, type_name, schema): # Pandas DataFrame ar = iquery( db, 'build(<val:{}>[i=1:10,10,0], random())'.format(type_name), fetch=True, schema=schema) assert ar.shape == (10, 2) assert ar.ndim == 2
def test_types_dataframe_no_promo(self, db, setup, mode, schema): # Pandas DataFrame, atts_only ar = iquery(db, 'scan(types_{})'.format(mode), fetch=True, dataframe_promo=False) assert ar.shape == types_shape[mode][0] assert ar.ndim == 2 assert ar[0:1].to_records(index=False) == types_array_obj[mode][0] assert ar[4:5].to_records(index=False) == types_array_obj[mode][1] assert ar[8:9].to_records(index=False) == types_array_obj[mode][2]
def test_types_dataframe_no_promo(self, db, setup, mode, schema): # Pandas DataFrame, atts_only ar = iquery(db, 'scan(types_{})'.format(mode), fetch=True, dataframe_promo=False) assert ar.shape == types_shape[mode][0] assert ar.ndim == 2 assert ar[0:1].to_records(index=False) == types_array_obj[mode][0] assert ar[4:5].to_records(index=False) == types_array_obj[mode][1] assert ar[8:9].to_records(index=False) == types_array_obj[mode][2]
def test_variety_dataframe_no_promo(self, db, variety, schema): # Pandas DataFrame, atts_only ar = iquery(db, 'scan({})'.format(variety), fetch=True, dataframe_promo=False) assert ar.shape == (12, 16) assert ar.ndim == 2 assert ar[0:1].to_records(index=False) == variety_array_obj[0] assert ar[4:5].to_records(index=False) == variety_array_obj[1] assert ar[8:9].to_records(index=False) == variety_array_obj[2]
def test_types_numpy(self, db, setup, mode, schema): # NumPy array ar = iquery(db, 'scan(types_{})'.format(mode), fetch=True, as_dataframe=False, schema=schema) assert ar.shape == (12,) assert ar.ndim == 1 assert ar[0] == types_array_struct[mode][0] assert ar[4] == types_array_struct[mode][1] assert ar[8] == types_array_struct[mode][2]
def test_types_numpy(self, db, setup, mode, schema): # NumPy array ar = iquery(db, 'scan(types_{})'.format(mode), fetch=True, as_dataframe=False, schema=schema) assert ar.shape == (12, ) assert ar.ndim == 1 assert ar[0] == types_array_struct[mode][0] assert ar[4] == types_array_struct[mode][1] assert ar[8] == types_array_struct[mode][2]
def test_variety_numpy(self, db, variety, schema): # NumPy array ar = iquery(db, 'scan({})'.format(variety), fetch=True, as_dataframe=False, schema=schema) assert ar.shape == (12, ) assert ar.ndim == 1 assert ar[0] == variety_array_struct[0] assert ar[4] == variety_array_struct[1] assert ar[8] == variety_array_struct[2]
def test_fetch_numpy(self, db, type_name, atts_only, schema): # NumPy array ar = iquery(db, 'build(<val:{}>[i=1:10,10,0], random())'.format(type_name), fetch=True, atts_only=atts_only, as_dataframe=False, schema=schema) if not atts_only: for i in range(10): assert ar[i][0] == i + 1 assert ar.shape == (10, ) assert ar.ndim == 1
def test_fetch_dataframe_datetime(self, db, type_name, schema): # Pandas DataFrame type_conv = 'datetime(i)' ar = iquery( db, 'build(<val:{}>[i=1:10,10,0], {})'.format( type_name, type_conv if type_name == 'datetime' else 'apply_offset({}, 0)'.format(type_conv)), fetch=True, schema=schema) assert ar.shape == (10, 2) assert ar.ndim == 2
def test_fetch_numpy(self, db, type_name, atts_only, schema): # NumPy array ar = iquery( db, 'build(<val:{}>[i=1:10,10,0], random())'.format(type_name), fetch=True, atts_only=atts_only, as_dataframe=False, schema=schema) if not atts_only: for i in range(10): assert ar[i][0] == i + 1 assert ar.shape == (10,) assert ar.ndim == 1
def test_variety_dataframe_atts(self, db, variety, schema): # Pandas DataFrame, atts_only ar = iquery(db, 'scan({})'.format(variety), fetch=True, atts_only=True) assert ar.shape == (12, 13) assert ar.ndim == 2 assert numpy.all(ar[0:1].values == variety_array_promo[0][3:]) # Values which differ have to be NAN ln = ar[4:5] assert numpy.all( numpy.isnan( ln[ar.columns[(ln.values != variety_array_promo[1][3:])[0]]])) ln = ar[8:9] assert numpy.all( numpy.isnan( ln[ar.columns[(ln.values != variety_array_promo[2][3:])[0]]]))
def test_types_dataframe(self, db, setup, mode, schema): # Pandas DataFrame, atts_only ar = iquery(db, 'scan(types_{})'.format(mode), fetch=True) assert ar.shape == types_shape[mode][0] assert ar.ndim == 2 assert numpy.all(ar[0:1].values[0] == types_array_promo[mode][0]) # Values which differ have to be NAN ln = ar[4:5] assert numpy.all( pandas.isnull(ln[ar.columns[( ln.values[0] != types_array_promo[mode][1]).tolist()]])) ln = ar[8:9] assert numpy.all( pandas.isnull(ln[ar.columns[( ln.values[0] != types_array_promo[mode][2]).tolist()]]))
def test_fetch_numpy_datetime(self, db, type_name, atts_only, schema): # NumPy array type_conv = 'datetime(i)' ar = iquery( db, 'build(<val:{}>[i=1:10,10,0], {})'.format( type_name, type_conv if type_name == 'datetime' else 'apply_offset({}, 0)'.format(type_conv)), fetch=True, atts_only=atts_only, as_dataframe=False, schema=schema) if not atts_only: for i in range(10): assert ar[i][0] == i + 1 assert ar.shape == (10,) assert ar.ndim == 1
def test_types_dataframe(self, db, setup, mode, schema): # Pandas DataFrame, atts_only ar = iquery(db, 'scan(types_{})'.format(mode), fetch=True) assert ar.shape == types_shape[mode][0] assert ar.ndim == 2 assert numpy.all(ar[0:1].values[0] == types_array_promo[mode][0]) # Values which differ have to be NAN ln = ar[4:5] assert pandas.isnull( ln[ ar.columns[ (ln.values[0] != types_array_promo[mode][1]).tolist() ]]).all().all() ln = ar[8:9] assert pandas.isnull( ln[ ar.columns[ (ln.values[0] != types_array_promo[mode][2]).tolist() ]]).all().all()