def test_to_object_array_tuples(self): r = (5, 6) values = [r] result = lib.to_object_array_tuples(values) try: # make sure record array works from collections import namedtuple record = namedtuple('record', 'x y') r = record(5, 6) values = [r] result = lib.to_object_array_tuples(values) # noqa except ImportError: pass
def test_to_object_array_tuples(self): r = (5, 6) values = [r] result = lib.to_object_array_tuples(values) try: # make sure record array works from collections import namedtuple record = namedtuple('record', 'x y') r = record(5, 6) values = [r] result = lib.to_object_array_tuples(values) # noqa except ImportError: pass
def _wrap_result(data, column_names, table=None, index_col=None, coerce_float=True, column_dtypes=None, parse_dates=None): """Wrap result set of query in a afw table """ result_size = len(data) # Turn into columns first from pandas import lib data = list(lib.to_object_array_tuples(data).T) arrays = [lib.maybe_convert_objects(arr, try_float=True) for arr in data] _harmonize_columns(arrays, column_names, table, column_dtypes, parse_dates) schema = afw_table.Schema() # build schema for i, column_name in enumerate(column_names): column_type = arrays[i].dtype schema.addField(column_name, type=column_type.type) catalog = afw_table.BaseCatalog(schema) # Preallocate rows based on first column length catalog.preallocate(result_size) for i in range(result_size): record = catalog.addNew() for column_i in range(len(column_names)): record.set(column_names[column_i], arrays[column_i][i]) return catalog