건물 주소가 포함 된 두 개의 서로 다른 원본에서 두 개의 데이터 프레임이 있는데이를 병합하고 싶습니다. 내가 가지고있는 문제는 주소가 정확히 두 세트에서 같은 방식으로 기록되지 않았다는 것입니다. 특히 거리의 방향 ('N', 'E', 'S', 'W')이 있습니다.팬더가 두 번째 선택 열이있는 열에 병합
한 세트의 일부 주소는 방향을 가지고 있기 때문에 방향을 병합 열로 사용하면 일부 일치하는 주소가 병합되지 않습니다 (예 : '123 Main St'in one and '123 N Main St' 다른 쪽에서). 일부 건물은 방향을 제외하고는 동일한 주소 (예 : '456 N Other Ave'및 '456 S Other Ave')가 있으므로 방향을 모두 무시하고 싶지는 않지만 거리의 방향을 다음과 같이 사용하고 싶습니다. 중복 주소가있는 경우에만 사용되지만 다르게 무시되는 보조 병합 열입니다. 이것을 할 수있는 방법이 있습니까? 나는이 병합이
두 열은 full_add
각각 '123 Main St'
및 'N'
같은 항목이 Dir
있습니다. 이것은 단지 다음 "full_add"에 가입 null이 아닌 같은 비 매칭 디렉터리의 같은 원하지 않는 레코드를 필터링하는 것입니다 할
df1 = pd.DataFrame({'full_add': ['123 Main St', '456 Other Ave', '456 Other Ave'], 'Dir': ['N', 'N', 'S'], 'left_val': [100, 200, 300]})
df2 = pd.DataFrame({'full_add': ['123 Main St', '456 Other Ave', '456 Other Ave'], 'Dir': [np.nan, 'N', 'S'], 'right_val': [1000, 2000, 3000]})
merged = pd.DataFrame({'full_add': ['123 Main St', '456 Other Ave', '456 Other Ave'], 'Dir': ['N', 'N', 'S'], 'left_val': [100, 200, 300], 'right_val': [1000, 2000, 3000]})
아, 완벽한, 나는 그와 같은 방향으로 향하고 있었다, 그러나 이것은 훨씬 간단합니다! –
다행, 도울 수 있어요. 고맙습니다. –