您可以使用Pandas的运算符实现上述逻辑。
首先,计算两个表格中点之间的欧几里得距离:
import numpy as np
table1['dist'] = np.sqrt((table1['x0'] - table2['x'])**2 + (table1['y0'] - table2['y'])**2 + (table1['z0'] - table2['z'])**2)
然后,对于每一个(x0,y0,z0)筛选距离小于等于1000的点:
result = table2[table1['dist'] <= 1000]
最后,对于每一个(x0,y0,z0),您可以使用相同的代码计算结果:
for i in range(table1.shape[0]):
x0, y0, z0 = table1.iloc[i, 0], table1.iloc[i, 1], table1.iloc[i, 2]
result = table2[(table2['x'] - x0)**2 + (table2['y'] - y0)**2 + (table2['z'] - z0)**2 <= 1000]
# Do something with the result
希望这对您有所帮助。