2017-04-15 106 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()'较早,但你的工作完美。谢谢! –

相关问题