塞迪夫#

astropy.table.setdiff(table1, table2, keys=None)[源代码]#

取一组表行的差异。

行集合差异将包含 table1 不存在于 table2 . 如果未定义keys参数,则 table1 将包含在输出表中。

参数:
表1Table

table1 在设置差分的左侧。

表2Table

table2 在设置差分的右侧。

keys : strliststrPYTHON:STR或PYTHON:PYTHON列表:STR

用于匹配左表和右表行的列的名称。默认值是使用中的所有列 table1 .

返回:
diff_tableTable

包含表之间设置差异的新表。如果set difference为none,则返回一个空表。

实例

要获得两个表之间的集合差:

>>> from astropy.table import setdiff, Table
>>> t1 = Table({'a': [1, 4, 9], 'b': ['c', 'd', 'f']}, names=('a', 'b'))
>>> t2 = Table({'a': [1, 5, 9], 'b': ['c', 'b', 'f']}, names=('a', 'b'))
>>> print(t1)
 a   b
--- ---
  1   c
  4   d
  9   f
>>> print(t2)
 a   b
--- ---
  1   c
  5   b
  9   f
>>> print(setdiff(t1, t2))
 a   b
--- ---
  4   d

>>> print(setdiff(t2, t1))
 a   b
--- ---
  5   b