RFC: localize_cols and localize_rows

RFC: localize_cols localize_rows


MatrixTable is enriched with

  • ds.localize_cols(f1, f2, …) – which returns a row-indexed KeyTable with the row fields plus new fields f1, f2, … which are arrays of the corresponding column-indexed fields from the original matrix table
  • ds.localize_rows(f1, f2, …) – the transposition of the above


Users often want random access to columns or rows. When the dimension is small, this is sensible, but verbose.


For each field, should we return an array (whose order is undefined) or a dictionary from column key to value?


ds.localize_cols(f1, f2, ...)

can be implemented as:

ds.annotate_rows(f1 = agg.collect(f1), f2 = agg.collect(f2), ...)