gpt4 book ai didi

python - 比较两个数据帧之间每个数据点之间的每个数据点而不循环

转载 作者:行者123 更新时间:2023-12-01 01:02:09 25 4
gpt4 key购买 nike

我想检查 dataframe-1 (df1) 中的坐标 (x,y,z),看看该位置是否足够接近一个不规则表面,该表面有自己的坐标 (x,y,z) 存储在数据帧-2 (df2)。

我能够遍历 df1 中的每个坐标,然后循环遍历 df2 中的所有坐标并检查它的距离。然后对 df1 中的所有坐标重复此操作,但是当我要检查 df1 中超过 1,000,000 个坐标时,这将花费很长时间。

我正在使用 pandas,想知道是否可以在不循环的情况下完成。

如果 df1 中的坐标接近 df2,那么我想选择它并将其存储到 df3 中。

最佳答案

Scipy 可以帮助你。看下面的假设示例:

import pandas as pd 
from scipy.spatial import cKDTree

dataset1 = pd.DataFrame(pd.np.random.rand(100,3))
dataset2 = pd.DataFrame(pd.np.random.rand(10, 3))

ck = cKDTree(dataset1.values)

ck.query_ball_point(dataset2.values, r=0.1)

array([list([]), list([]), list([]), list([]), list([28, 83]), list([79]), list([]), list([86]), list([40]), list([29, 60, 95])], dtype=object)

关于python - 比较两个数据帧之间每个数据点之间的每个数据点而不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55701301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com