Pandas - Gruppe / Datenmengen pro Längengrad / Breitengrad

Ich habe eine Reihe von geografischen Daten wie folgt. Ich möchte die Daten nach Längen- UND Breitengraden von 0,2 Grad gruppieren.

Wenn es trivial ist, entweder den Breitengrad oder den Längengrad zu bestimmen, was ist am besten geeignet, um dies für beide Variablen zu tun?

|User_ID  |Latitude  |Longitude|Datetime           |u    |v    |
|---------|----------|---------|-------------------|-----|-----|
|222583401|41.4020375|2.1478710|2014-07-06 20:49:20|0.3  | 0.2 |
|287280509|41.3671346|2.0793115|2013-01-30 09:25:47|0.2  | 0.7 |
|329757763|41.5453577|2.1175164|2012-09-25 08:40:59|0.5  | 0.8 |
|189757330|41.5844998|2.5621569|2013-10-01 11:55:20|0.4  | 0.4 |
|624921653|41.5931846|2.3030671|2013-07-09 20:12:20|1.2  | 1.4 |
|414673119|41.5550136|2.0965829|2014-02-24 20:15:30|2.3  | 0.6 |
|414673119|41.5550136|2.0975829|2014-02-24 20:16:30|4.3  | 0.7 |
|414673119|41.5550136|2.0985829|2014-02-24 20:17:30|0.6  | 0.9 |

So weit, was ich getan habe, ist 2 lineare Räume erstellt:

lonbins = np.linspace(df.Longitude.min(), df.Longitude.max(), 10) 
latbins = np.linspace(df.Latitude.min(), df.Latitude.max(), 10)

Dann kann ich groupBy mit:

groups = df.groupby(pd.cut(df.Longitude, lonbins))

Ich könnte dann natürlich über die Gruppen iterieren, um eine zweite Ebene zu erstellen. Mein Ziel ist es, statistische Analysen für jede Gruppe durchzuführen und sie möglicherweise auf einer Karte anzuzeigen. Das sieht nicht sehr praktisch aus.

bucket = {}
for name, group in groups: 
    print name bucket[name] = group.groupby(pd.cut(group.Latitude, latbins))

Zum Beispiel möchte ich eine Heatmap erstellen, die die Anzahl der Zeilen pro Latlon-Box anzeigt, die Geschwindigkeitsverteilung in jeder Latlon-Box anzeigt, ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage