Ich habe ein Geopandas-Datenframe aus einem Shapefile erstellt.Sortieren GeoPandas nach Name der Linie und nach geografischen Standort
Ich möchte meinen Dataframe nach der Spalte sortieren: "name" UND die Zeile Chunks sollten auch nach geographischem Standort sortiert werden, so dass alle in der Nähe befindlichen Chunks, die den gleichen Namen haben, zusammen gruppiert sind.
Wie kann ich diese Art von Sortierung durchführen?
Was ich versucht habe: 1. Ich berechne die mittlere fro jedes Linienzug koordinieren:
df['mean_coord'] = df.geometry.apply(lambda g: [np.mean(g.xy[0]),np.mean(g.xy[1])])
I Gruppe der Datenrahmen gemäß der Spalte "Name" und ich sortieren die resultierende Datenrahmen nach der mittleren Koordinate:
gruppiert = df.sort_values ([ 'mean_coord'], aufsteigend = false) .groupby ('name')
Aber ich bin mir nicht sicher, ob dies der beste/eleganteste oder sogar richtigste Weg ist. Ansonsten weiß ich nicht, wie ich aus dem gruppierten Element zu einem Pandas-Datenrahmen zurückkehren kann.
Ich kann gar nicht genug betonen dieses genug: Sie müssen hart Code einige repräsentative Datensätze in Ihre Fragen, wie ich mit meiner Antwort habe hier: https://stackoverflow.com/a/47972529/1552748 –
(und das bedeutet * nicht * das Verknüpfen mit irgendeinem zufälligen Shapefile) –