我有一个项目列表(在这种情况下为1-11,但可能更长),每个项目都有一组8个坐标(x,y,z)。我正在尝试建立一组符合参数距离的坐标。
为此,我想使用距离公式计算每个坐标(x1,y1,z1)来自第1项与每组来自第2项< / em>(x2,y2,z2) - 每个项目的8组坐标意味着计算64个距离。
如果该距离适合参数(例如,1 期望的输出将是通过所有参数的每个项目的坐标列表。 (这些是随机生成的)其中第一个数字是项目,后跟其坐标集,适合所有参数。 我知道我的代码非常错误。不幸的是,我不知道如何构造此代码以获得所需的输出。我是狂热的学习者,这段代码可以大大加快我的数据分析速度。非常感谢帮助或简单的建议。from itertools import product
import math
import pandas as pd
import csv
subset = cmd[['carbon','x_coord', 'y_coord','z_coord']]
pos_coordinate_values = [tuple(x) for x in subset.values]
list1 = []
for t in list1:
row = ""
rowNum = t[0]
x1 = t[1]
y1 = t[2]
z1 = t[3]
def calculate_distance(x1,y1,x2,y2,z1,z2):
dist=math.sqrt((x2 - x1)**2 + (y2 - y1)**2 + (z2-z1)**2)
return dist
d=calculate_distance(x1,y1,x2,y2,z1,z2)
if t[0] in list1:
if rowNum == 1 and rowNum == 2:
return d
if d >= 1 and d <= 2:
if rowNum == 1 and rowNum == 2 and rowNum == 3:
return d
Viable strings are;
(1, (2, 3, 2), 2, (2, 4, 2), 3, (2, 5, 3), 4, (2, 6, 4), 5, (2, 8, 2), 6, (3, 4, 2), 7, (3, 5, 3), 8, (3, 6, 4), 9, (3, 8, 2), 10, (4, 5, 3), 11, (4, 6, 4))
(1, (5, 7, 3), 2, (5, 1, 4), 3, (5, 1, 3), 4, (5, 3, 4), 5, (7, 8, 4), 6, (7, 9, 4), 7, (7, 1, 3), 8, (7, 1, 2), 9, (7, 3, 3), 10, (8, 1, 4), 11, (9, 1, 4))
...