2017-04-15 3 views
0

클러스터의 레이블을 포함하는 한 프레임 (DF1)의 데이터와 해당 중심의 축이 latitudelongitude이고 두 번째 데이터 프레임 (DF2) Geolocated 소셜 미디어 게시물 및 DBSCAN을 사용하여 할당 된 클러스터의 레이블에 대한 일부 데이터가 포함되어 있습니다. DF1의 클러스터 중심을 DF2의 해당 클러스터 레이블이있는 게시물에 지정하거나 매핑해야합니다. 팬더를 사용하여 DF2의 레이블과 일치하도록 DF1의 위도와 경도 (중심)를 어떻게 할당합니까? 이 방법을 사용하여 .join().merge()을 사용해 보았습니다. 그러나 다양한 유형 및 주요 오류가 발생했습니다.Python/Pandas, 한 프레임의 데이터를 다른 프레임의 해당 데이터에 할당

샘플 데이터 :

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()를 사용하여 잘못하고 있었는지 확실하지 않다'이전,하지만 당신은 완벽했다. 감사! –

관련 문제