2017-04-15 118 views
0

我在一幀(DF1)數據對應的數據包含標籤的簇,並且在latitudelongitude它們相應的質心,以及我有一個第二數據幀(DF2)包含地理定位的社交媒體帖子的一些數據以及他們與DBSCAN分配的羣組的標籤。我需要將來自DF1的集羣質心分配/映射到具有DF2中相應集羣標籤的帖子。使用熊貓,我如何分配DF1的緯度和經度(質心)以匹配DF2中的標籤?我曾嘗試使用.join().merge()以這種方式加入,但我收到了各種類型和關鍵錯誤。的Python /熊貓,分配數據從一幀到另一

示例數據:

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 

示例輸出

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 

回答

1
merged=df2.merge(df1,on='cluster_label') 

和滴自己喜歡的任意列...

+0

我不知道我在做什麼錯用'df2.merge()'較早,但你的工作完美。謝謝! –

相關問題