У меня есть 2-звездочные каталоги, которые хранятся в таблицах, к которым я хочу присоединиться (я не могу перестать думать, что это проблема SQL, которая является моей проблемой), но у меня есть некоторые необычные требования / условия.
- Разной длины. «Tyco» имеет 1,3 м строк, «GCSV» имеет 16 тыс. Строк.
- Разная ширина. У них обоих есть несколько общих столбцов (Right_Ascension (Часы, десятичное число), Склонение (градусы, десятичное число), Величина (с плавающей точкой до 2 десятичных знаков). Они также имеют свои уникальные
- Каждая таблица также имеет свои уникальные столбцы . Tyco имеет «Proper_motion_ra» и «Proper_motion_de c». «GCVS» имеет «Spec_Type», «GCVS», «Var_type» и «Period»
- Я хочу, чтобы результирующая таблица «объединенная» содержала все столбцы из обеих таблиц / каталогов
- Позиции / координаты будут незначительно отличаться для большинства звезд в каждом каталоге / таблице
- Для каждого «Right_Ascension» и «склонения» (каждая строка содержит уникальную пару ) в 'GCVS' я хочу найти Right_Ascension и склонение в 'Tyco'.
- Я хочу найти 'Right_Ascension' и склонение из 'GCVS' в таблице 'Tyco' в пределах допуска 0,002. найдено несколько совпадений, затем я хочу сопоставить столбцы «Величина». В любом случае, если совпадение найдено, данные «GCVS» добавляются к данным «Tyco» в соответствующей строке .
- Если совпадение в пределах допуска 0,002 не найдено, я хочу, чтобы эта строка из 'GCVS' была добавлена в таблицу 'Tyco'.
- Мой скрипт хранит как Dataframe, так и таблицу Astropy. Версия каждого так методы с участием любого из них будет подходящим.
Есть идеи / указатели / отправные точки? Спасибо