在 table 中识别 RA 和 Dec 重复项

Identifying RA and Dec duplicates in a table

我正在尝试创建一个 table,其中包含特定区域中的对象。我正在整理 irac、2mass 和 wise 数据。我已将所有数据合并为一个 table,现在正尝试根据 RA 和 Dec 坐标消除重复项。我的最终目标是拥有一个完整的 table,没有任何重复。因此,如果一个对象在 irac 数据中,则没有来自 2mass 或 wise 数据的等效项。我刚开始使用 python。如果能得到重复项的行号就好了。

import pandas as pd

df = pd.read_csv('filename.csv')

duplicate = []

for num in df['ra' and 'dec']:
     if any(df['ra' and 'dec'].duplicated()):
          dublicate.append(num)

这已经 运行 有一段时间了,我只是不确定它是否正确或是否有效。 ra 和 dec 值位于两个单独的列中。

我会这样做的。虽然不确定所花费的时间。您可以尝试一下并告诉我们。

import pandas as pd

df = pd.read_csv('filename.csv')
New_DF = df.drop_duplicates(subset=['ra','dec'])

文档在这里 (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop_duplicates.html)

您要执行的任务是天空坐标的目录交叉匹配。 pandas 方法如 drop_duplicates 是不合适的,因为它们使用精确的数值比较,但通常目录中的 RA 和 Dec 值会因与目录精度相关的值而不同。

高效的目录交叉匹配本身就是一个大课题,但您可以从这些参考资料着手: