join

astropy.table.join(left, right, keys=None, join_type='inner', *, keys_left=None, keys_right=None, uniq_col_name='{col_name}_{table_name}', table_names=['1', '2'], metadata_conflicts='warn', join_funcs=None)[source]

Perform a join of the left table with the right table on specified keys.

Parameters
leftTableastropy:-like object

Left side table in the join. If not a Table, will call Table(left)

rightTableastropy:-like object

Right side table in the join. If not a Table, will call Table(right)

keysstr or list of str

Name(s) of column(s) used to match rows of left and right tables. Default is to use all columns which are common to both tables.

join_typestr

Join type (‘inner’ | ‘outer’ | ‘left’ | ‘right’ | ‘cartesian’), default is ‘inner’

keys_leftstr or list of str or list of column-like, optional

Left column(s) used to match rows instead of keys arg. This can be be a single left table column name or list of column names, or a list of column-like values with the same lengths as the left table.

keys_rightstr or list of str or list of column-like, optional

Same as keys_left, but for the right side of the join.

uniq_col_namestr or None

String generate a unique output column name in case of a conflict. The default is ‘{col_name}_{table_name}’.

table_nameslist of str or None

Two-element list of table names used when generating unique output column names. The default is [‘1’, ‘2’].

metadata_conflictsstr
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.

join_funcsdict, None

Dict of functions to use for matching the corresponding key column(s). See join_skycoord for an example and details.

Returns
joined_tableTable object

New table containing the result of the join operation.