我有一个像:
这样的数据集pointID lat lon otherinfo
我想要对坐标进行舍入,并将坐标变为相等的所有点聚合成一个单独的项,并为其指定一个新名称,该名称可能是一个新的数据帧列。 " otherinfo"必须保留列,这意味着在操作结束时,我将拥有与之前相同的行数,但使用基于舍入坐标的新ID。
如何使用熊猫实现这一目标?如果我使用geoPandas会更容易吗?
答案 0 :(得分:1)
如果你已经有coodinates(lat和lon)的列,你可以这样做(舍入到2个十进制数字):
df['new_id'] = df.groupby([df.lat.round(2), df.lon.round(2)]).ngroup()
groupby上的ngroup
方法为每个原始行提供了它所属的组,因此实际上为您提供了基于舍入lat / lon的新唯一ID。