【发布时间】:2020-01-01 04:27:49
【问题描述】:
我正在处理 2 个数据帧。第一个数据框具有这种形式的 x 和 y 坐标。东坐标有“x”坐标,北坐标有“y”坐标。
Blast Hole East Coordinate North Coordinate
105,100,99 16764.83,16752.74,16743.1 107347.67,107360.32,107362.96
我有另一个数据框,它有数百万行,基本上代表 x、y 和 z 的立方体尺寸及其长度和宽度。数据框的结构如下所示:
XMORIG YMORIG ZMORIG XC YC ZC
14212.37 104364.2 1300 17499.87 105601.7 2852.5
14212.37 104364.2 1300 17499.87 105601.7 2867.5
14212.37 104364.2 1300 17474.87 105601.7 2867.5
14212.37 104364.2 1300 17499.87 105626.7 2852.5
14212.37 104364.2 1300 17499.87 105626.7 2867.5
14212.37 104364.2 1300 17499.87 105676.7 2867.5
14212.37 104364.2 1300 17524.87 105701.7 2867.5
其中 XC、YC 和 ZC 是立方体在 x、y 和 z 轴上的质心。
我期待的是编写一个带有 for 和 if 嵌套循环的函数,其中函数从第一个数据库中选择 x 和 y 坐标,并在第二个数据库的行中查找 x 和 y 坐标位于距第二个数据库中的 x 和 y 质心。对于 x 和 y 坐标与 x 和 y 质心的距离小于 12.5 m 的行,我想选择所有这些行并从中创建一个新的 df。
到目前为止我尝试过的代码是:
def ValidCampaign_rows(row):
for i in x3:
if i - Xcentroid <= abs(12.5):
for i in y3:
if i - Ycentroid <= abs(12.5):
我不知道如何在选择这些行并继续为列表中的每个坐标写入新的 df 后写入。
提前致谢。
【问题讨论】:
标签: python python-3.x for-loop if-statement