Python &引用;ValueError:使用序列“设置数组元素”;指定图中点的邻域的平均值

Python &引用;ValueError:使用序列“设置数组元素”;指定图中点的邻域的平均值,python,pandas,numpy,Python,Pandas,Numpy,我有一个numpy数组,其中包含5个点的坐标(X,Y,Z): Coordinates = np.array([[1000, 1000,10],[1003, 1003,10],[1004, 1004,10],[1002, 1002,10],[1001, 1001,10]]) d = {"Values": [0.25, 0.24,0.23,0.3,0.22]} df = pd.DataFrame(data=d) 另一方面,我有一个Pandas数据框,其中包含这5个点中每个点的

我有一个numpy数组,其中包含5个点的坐标(X,Y,Z):

Coordinates = np.array([[1000, 1000,10],[1003, 1003,10],[1004, 1004,10],[1002, 1002,10],[1001, 1001,10]])
d = {"Values": [0.25, 0.24,0.23,0.3,0.22]}
df = pd.DataFrame(data=d)
另一方面,我有一个Pandas数据框,其中包含这5个点中每个点的变量值:

Coordinates = np.array([[1000, 1000,10],[1003, 1003,10],[1004, 1004,10],[1002, 1002,10],[1001, 1001,10]])
d = {"Values": [0.25, 0.24,0.23,0.3,0.22]}
df = pd.DataFrame(data=d)
通过树球_邻域,我得到半径2m内每个点的邻域索引:

treeBall_Neighbors = sklearn.neighbors.BallTree(Coordinates, leaf_size=2)
indices_Neighbors=treeBall_Neighbors.query_radius(Coordinates[:], r=2)
最后,我想将每个点的相邻点的平均值添加到数据帧中:

df["Neighbors_Values"]=df["Values"].iloc[indices_Neighbors.tolist()[:]].mean()
但遗憾的是,我得到了一个错误“ValueError:用序列设置数组元素”。我得到的唯一部分解决方案仅适用于第一行:

df["Neighbors_Values"]=df["Values"].iloc[indices_Neighbors.tolist()[0]].mean()
你知道我如何在没有循环的情况下获得其他值吗?最终结果应如下所示:

   Values  Neighbors_Values
0    0.25             0.235
1    0.24             0.256667
2    0.23             0.235
3    0.30             0.253333
4    0.22             0.256667

最后,我用以下代码(使用函数和lambda)解决了问题: