Я пытаюсь сделать сопоставление координат между двумя таблицами, одна со звездами (Табла), а другая с полями зрения телескопов, и вернуть строки, в которых совпадают координаты звезд. Звезды должны находиться в точке, где x & y (RA, DE C) полей плюс-минус разность (dx, dy, в моем случае df).
Все кажется правильным, пока список не пересечется создается с рядами пересекающихся звезд, но только с указателем их. Поэтому я использую принт (перекрестное соответствие), чтобы увидеть, были ли звезды правильными, и они есть, поэтому моя проблема должна быть в разделе добавления.
import matplotlib.pyplot as plt
import pandas as pd
import sys
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tabla = pd.read_csv('Tabla_Crossmatch_01.csv', header= 0)
RA = Tabla['_RAJ2000']
DEC = Tabla['_DEJ2000']
Name = Tabla['WD']
Campos = pd.read_csv('Fields.csv', header= 0)
RA_fields = Campos['RA:(decimal)']
DEC_fields = Campos['Dec:(decimal)']
Campo = Campos['Field']
f_view = 1.7
df = f_view/2
cross = []
cont = 1
for i,ii in zip (Tabla['_RAJ2000'],Tabla['_DEJ2000']):
for j,jj in zip (RA_fields,DEC_fields):
if j-df <= i <= j+df and jj-df <= ii <= jj+df:
crossmatch = Tabla.loc[(Tabla['_RAJ2000'] == i) & (Tabla['_DEJ2000'] == ii)]
cross.append(crossmatch)
print(crossmatch)
Результат:
_RAJ2000 _DEJ2000 WD ... S/N SpClass Sp
35 119.51847 20.999396 WDJ075804.43+205957.86 ... 0.0 Unreliable Sp
[1 rows x 19 columns]
_RAJ2000 _DEJ2000 WD ... S/N SpClass Sp
62 155.27775 8.456804 WDJ102106.71+082724.97 ... 42.465915 DB Sp
[1 rows x 19 columns]
_RAJ2000 _DEJ2000 WD ... S/N SpClass Sp
63 155.27791 8.456894 WDJ102106.71+082724.97 ... 0.0 Unreliable Sp
[1 rows x 19 columns]
_RAJ2000 _DEJ2000 WD ... S/N SpClass Sp
82 175.41995 0.146517 WDJ114140.79+000847.49 ... 0.0 Unreliable Sp
[1 rows x 19 columns]
_RAJ2000 _DEJ2000 WD ... S/N SpClass Sp
87 179.54766 -0.046197 WDJ115811.43-000246.23 ... 0.0 Unreliable Sp
[1 rows x 19 columns]
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~