按字母顺序排序后重新排列 GeoPandas 索引

时间:2021-03-14 15:14:44

标签: python pandas geopandas

我正在使用 GeoPandas Dataframe,必须按字母顺序对 Dataframe 进行排序。

这是原始数据帧:

<头>
SHAPESTA区域 SHAPESTLength 几何 名字
0 1.705685e+06 24841.426669 MULTIPOLYGON (((-43.10567 -22.74888, -43.10568... 帕克塔
1 4.056403e+06 18303.595717 MULTIPOLYGON (((-43.17170 -22.77661, -43.17170... Freguesia (Ilha)
2 9.780465e+05 7758.781282 MULTIPOLYGON (((-43.18915 -22.78318, -43.18915... 银行
3 1.895742e+07 21510.059220 MULTIPOLYGON (((-43.22804 -22.78374, -43.22811... Galeão
4 1.672546e+06 8246.109606 多边形 ((-43.18039 -22.79940, -43.18022 -22.7... Tauá

我想使用 names 列作为参考对 DataFrame 进行排序。由于特殊字符(例如 á、ã),我无法使用 gdf.sort_values('names', ascending=True),因为某些行未正确排序。

然后我遇到了这个功能,它解决了我的问题:

gdf = gdf.iloc[gdf['names'].str.normalize('NFKD').argsort()]

我的数据框现在如下所示:

<头>
SHAPESTA区域 SHAPESTLength 几何 名字
77 6.163327e+05 4930.770118 多边形 ((-43.29425 -22.89034, -43.29536 -22.8... Abolição
21 1.605524e+06 6408.772937 多边形 ((-43.33724 -22.82594, -43.33705 -22.8... 螨虫
125 3.149568e+07 43744.411247 多边形 ((-43.22040 -22.93213, -43.22116 -22.9... 阿尔托达博阿维斯塔
20 4.345727e+06 11471.418826 多边形 ((-43.37979 -22.82539, -43.38194 -22.8... 安琪塔
119 2.261300e+06 9938.098921 多边形 ((-43.24866 -22.91959, -43.24879 -22.9... 安达拉伊

但索引现在被列为 77, 21, 125, 20, 119... 而不是 1, 2, 3, 4, 5...

有办法修复索引吗?

谢谢!

0 个答案:

没有答案
相关问题