我正在尝试创建一个由特定区域中的对象组成的表。我整理了irac,2mass和明智的数据。我已将所有数据组合到一个表中,现在正尝试根据RA和Dec坐标消除重复项。我的最终目标是要有一张完整的表,没有任何重复。因此,如果对象位于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值分别位于两列中。
答案 0 :(得分:2)
您要执行的任务是对天空坐标进行目录交叉匹配。像drop_duplicates
这样的pandas方法方法不合适,因为它们使用精确的数值比较,但是总的来说,目录中的RA和Dec值会因与目录精度有关的值而不同。
有效的目录交叉匹配本身就是一个大问题,但是您可以开始使用以下参考:
答案 1 :(得分:-1)
我会这样做的。虽然不确定所花费的时间。您可以尝试让我们知道。
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)