hstack#
- astropy.table.hstack(tables, join_type='outer', uniq_col_name='{col_name}_{table_name}', table_names=None, metadata_conflicts='warn')[source]#
Stack tables along columns (horizontally).
A
join_type
of ‘exact’ means that the tables must all have exactly the same number of rows. Ifjoin_type
is ‘inner’ then the intersection of rows will be the output. A value of ‘outer’ (default) means the output will have the union of all rows, with table values being masked where no common values are available.- Parameters:
- tables
Table
orRow
orlist
thereof Tables to stack along columns (horizontally) with the current table
- join_type
str
Join type (‘inner’ | ‘exact’ | ‘outer’), default is ‘outer’
- uniq_col_name
str
orNone
String generate a unique output column name in case of a conflict. The default is ‘{col_name}_{table_name}’.
- table_names
list
ofstr
orNone
Two-element list of table names used when generating unique output column names. The default is [‘1’, ‘2’, ..].
- metadata_conflicts
str
- How to proceed with metadata conflicts. This should be one of:
'silent'
: silently pick the last conflicting meta-data value'warn'
: pick the last conflicting meta-data value, but emit a warning (default)'error'
: raise an exception.
- tables
- Returns:
See also
Examples
To stack two tables horizontally (along columns) do:
>>> from astropy.table import Table, hstack >>> t1 = Table({'a': [1, 2], 'b': [3, 4]}, names=('a', 'b')) >>> t2 = Table({'c': [5, 6], 'd': [7, 8]}, names=('c', 'd')) >>> print(t1) a b --- --- 1 3 2 4 >>> print(t2) c d --- --- 5 7 6 8 >>> print(hstack([t1, t2])) a b c d --- --- --- --- 1 3 5 7 2 4 6 8