【发布时间】:2018-06-07 02:14:53
【问题描述】:
我有一个从 shapefile 创建的 geopandas 数据框。
我想根据列对我的数据框进行排序:“名称”,并且行块也应按地理位置排序,以便将所有附近具有相同名称的块组合在一起。
我怎样才能进行这种排序?
我尝试过的: 1.我计算每个线串的平均坐标:
df['mean_coord'] = df.geometry.apply(lambda g: [np.mean(g.xy[0]),np.mean(g.xy[1])])
-
我根据“名称”列对数据框进行分组,并根据平均坐标对生成的数据框进行排序:
grouped=df.sort_values(['mean_coord'],ascending=False).groupby('name')
但我不确定这是否是最好/最优雅甚至正确的方法。除此之外,我不知道如何从分组元素返回熊猫数据框?
【问题讨论】:
-
这一点我怎么强调都不为过:您需要将一些有代表性的数据集硬编码到您的问题中,就像我在这里回答我所做的那样:stackoverflow.com/a/47972529/1552748
-
(这不意味着链接到一些随机的shapefile)
标签: python python-3.x geopandas multilinestring