Python:检查表中的值在其他表中的位置
[编辑]我想用Python解决这个问题:我有一个表列出了一些点的坐标,因此它有两列a,B。另一个表列出了两列C,d中点的坐标。列C和d中的值与a和B中的值相同,但顺序不同。我的目的是检查a,B中的值在C,D列中的位置。 我试过这个代码:[对不起,我只写了a部分代码,但现在已经完成]Python:检查表中的值在其他表中的位置,python,Python,[编辑]我想用Python解决这个问题:我有一个表列出了一些点的坐标,因此它有两列a,B。另一个表列出了两列C,d中点的坐标。列C和d中的值与a和B中的值相同,但顺序不同。我的目的是检查a,B中的值在C,D列中的位置。 我试过这个代码:[对不起,我只写了a部分代码,但现在已经完成] import pyfits from nifty import * hdulist = pyfits.open('PolCat_withRRM.fits') tbdata = hdulist[1].data G
import pyfits
from nifty import *
hdulist = pyfits.open('PolCat_withRRM.fits')
tbdata = hdulist[1].data
G_lon = np.array(tbdata.field('G_lon'))
G_lat = np.array(tbdata.field('G_lat'))
np.save('glon', G_lon)
np.save('glat', G_lat)
matrix=[G_lon,G_lat]
matrice=np.array(matrix)
#loading information about the sources and the (simulated) data
lon = np.load('lon.npy')
lat = np.load('lat.npy')
#Now I want know where the values in colujmns G_lon e G_lat are in lon e lat columns
delta=(0.003,0.003)
for item1 in zip(G_lon, G_lat):
for item2 in zip(lon, lat):
if (item2 >= tuple(np.subtract(item1,delta))) and (item2 <= tuple(np.sum(item1,delta))):
item2_index=np.where(lon)
item = lon[item2_index]
print item2
导入pyfits
从漂亮的进口*
hdulist=pyfits.open('PolCat_with rrm.fits')
tbdata=hdulist[1]。数据
G_lon=np.array(tbdata.field('G_lon'))
G_lat=np.array(tbdata.field('G_lat'))
np.save('glon',G_lon)
np.save('glat',G_lat)
矩阵=[G_lon,G_lat]
矩阵=np.数组(矩阵)
#加载有关源和(模拟)数据的信息
lon=np.load('lon.npy')
横向荷载=横向荷载(“横向荷载”)
#现在我想知道colujmns G_lone G_lat中的值在lone lat列中的什么位置
增量=(0.003,0.003)
对于拉链中的项目1(G_lon,G_lat):
对于拉链中的项目2(长、宽):
如果(item2>=tuple(np.subtract(item1,delta)))和(item2,我无法真正理解您的代码,因为它缺少一些东西,但对于初学者来说,可以尝试删除这里的括号:
if (item2 >= tuple(np.subtract(item1,delta))) and (item2<=tuple(np.sum(item1,delta))):
如果(item2>=tuple(np.subtract(item1,delta))和(item2=tuple(np.subtract(item1,delta))和item2感谢您的解决方案,但它不起作用。更好的是,输出是我在问题中添加的错误。。
if (item2 >= tuple(np.subtract(item1,delta))) and (item2<=tuple(np.sum(item1,delta))):
if item2 >= tuple(np.subtract(item1,delta)) and item2 <= tuple(np.sum(item1,delta)):