I-Daten in einem Rahmen (DF1) mit Etikett für Cluster haben, und ihre entsprechenden Zentroiden in latitude
und longitude
, und ich habe einen zweiten Datenrahmen (DF2) Sie enthält einige Daten für geolokalisierte Social-Media-Posts und die Labels der Cluster, denen sie mit DBSCAN zugewiesen wurden. Ich muss die Clusterschwerpunkte von DF1 zu Pfosten mit den entsprechenden Clusterbeschriftungen in DF2 zuweisen/zuordnen. Mit Pandas, wie kann ich den Breitengrad und den Längengrad (Zentroide) von DF1 den Markierungen in DF2 zuordnen? Ich habe versucht, mit .join()
und .merge()
auf diese Weise beizutreten, aber ich habe verschiedene Art und Schlüsselfehler erhalten.Python/Pandas, Assign Daten von einem Rahmen zu entsprechenden Daten in einem anderen
Beispieldaten:
DF1
cluster_label latitude longitude frequency
0 39.18193382 -77.51885109 6
1 39.18 -77.27 46
2 39.17917928 -76.6688633 35
3 39.1782 -77.2617 48
4 39.1765 -77.1927 6
5 39.1762375 -76.8675441 16
6 39.17468 -76.8204499 7
7 39.17457332 -77.2807235 9
DF2
user_id timestamp latitude longitude cluster_label
3073171535 3/10/2017 11:10 39.18193382 -77.51885109 0
1628115950 3/11/2017 9:04 39.18193382 -77.51885109 0
7.46E+17 3/9/2017 21:52 39.18 -77.27 1
4188084947 3/10/2017 1:53 39.18 -77.27 1
3123690477 3/10/2017 10:44 39.17917928 -76.6688633 2
3063785591 3/10/2017 11:15 39.17917928 -76.6688633 2
2878413353 3/10/2017 14:33 39.1782 -77.2617 3
19410434 3/14/2017 15:32 39.1782 -77.2617 3
7.51E+17 3/9/2017 21:44 39.1765 -77.1927 4
27081288 3/14/2017 12:28 39.1765 -77.1927 4
400535528 3/12/2017 13:30 39.1762375 -76.8675441 5
8.06E+17 3/9/2017 19:45 39.1762375 -76.8675441 5
199324673 3/13/2017 11:12 39.17468 -76.8204499 6
198014146 3/13/2017 11:22 39.17468 -76.8204499 6
195546843 3/13/2017 11:26 39.17468 -76.8204499 6
2344467747 3/10/2017 21:45 39.1746 -77.2807 7
703776919 3/11/2017 20:14 39.1746 -77.2807 7
Ausgabe
user_id timestamp cluster_label cluster_centroid_lat cluster_centroid_long
3073171535 3/10/2017 11:10 0 39.18193382 -77.51885109
7.46E+17 3/9/2017 21:52 1 39.18 -77.27
Ich bin nicht sicher, was ich falsch 'df2.merge mit tun()' früher, aber Ihr funktionierte perfekt. Vielen Dank! –