我有几个包含不同信息的DataFrame.
一个名为atm_data
的DataFrame包含几个数据点和相关联的列,这些数据点和列的空间分辨率超过1公里.另一个名为gridded_data
的DataFrame包含数千行,其中包含更高空间分辨率(30米)的经度和纬度值.我想要做的是获取gridded_data
个DataFrame中的数据,并从atm_data
个DataFrame中的数据点分配最近的关联数据.
以下是我试图使用的代码,但我一直收到错误:‘ValueError:Cannot reindex on a轴,该轴有重复的标签.
lat_lon_points = atm_data[['lat','lon']].values
lat_lon_gridded = gridded_data[['lat','lon']].values
distances = cdist(lat_lon_gridded, lat_lon_points, metric='euclidean')
nearest_indices = np.argmin(distances, axis=1)
gridded_data = gridded_data.reset_index(drop=True)
gridded_data[['var1','var2','var3','var4','var5']] = atm_data[['var1','var2','var3','var4','var5']].iloc[nearest_indices]
我不得不重置gridded_data
的索引,因为它是从以前的DataFrame中 Select 的.
如有任何建议/建议/帮助,我们将不胜感激!
Edit:我发现发生TypeError是因为被调用的变量不是DataFrame.我删除了那个错误.但是,我仍然收到上面提到的错误.