hstack公司#

astropy.table.hstack(tables, join_type='outer', uniq_col_name='{col_name}_{table_name}', table_names=None, metadata_conflicts='warn')[源代码]#

沿列(水平)堆叠表格。

A join_type of'exact'意味着所有表的行数必须完全相同。如果 join_type 如果为“inner”,则行的交集将作为输出。“outer”值(默认值)表示输出将包含所有行的并集,在没有可用公共值的情况下,表值将被屏蔽。

参数:
tables : Table or Row or list 其中TABLE或ROW或PYTON:其列表

要与当前表一起沿列(水平)堆叠的表

join_type : strPython :字符串

联接类型('inner'|'exact'|'outer'),默认值为'outer'

uniq_col_name : strNonePYTHON:字符串或PYTHON:无

字符串在发生冲突时生成唯一的输出列名。默认值是'{col'u name}}{table'u name}'。

table_names : liststrNonePYTHON:PYTHON:LIST:STR或PYTHON:NONE

生成唯一输出列名时使用的两元素表名列表。默认值是 [“1”、“2”。。] .

metadata_conflicts : strPython :字符串
如何处理元数据冲突。这应该是:
  • 'silent' :静默选取最后一个冲突的元数据值

  • 'warn' :选择最后一个冲突的元数据值,但发出警告(默认)

  • 'error' :引发异常。

返回:
stacked_table : Table objectTable对象

包含输入表中堆叠数据的新表。

实例

要水平(沿列)堆叠两个表,请执行以下操作:

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