판다스 데이터프레임 합치기 질문

조회수 215회
# 1번 df
ndf1
    Ac Reg No   Flt No  From    To  STD ETD ATD CAPTAIN
0   HL7560  LJ407   GMP CJU 23:30   23:30   23:38   CHOI,YUNKYUNG
2   HL7560  LJ584   CJU CJJ 1:45    1:45    1:52    CHOI,YUNKYUNG
3   HL7560  LJ585   CJJ CJU 3:30    6:00    7:29    KIM,HYO JIN_A
4   HL7560  LJ585   CJJ CJJ 3:33    3:33    3:33    CHOI,YUNKYUNG
7   HL7560  LJ558   CJU CJJ 8:25    9:25    9:57    KIM,HYO JIN_A
[132 rows x 8 columns]

# 2번 df
ndf2
    Ac Reg No   Flt No  From    STA ETA ATA
1   HL7560  LJ407   GMP 0:40    0:52    0:52
3   HL7560  LJ584   CJU 2:50    2:49    2:49
5   HL7560  LJ585   CJJ 4:40    8:42    8:42
6   HL7560  LJ585   CJJ 5:30    5:47    5:47
8   HL7560  LJ558   CJU 9:35    11:06   11:06
[132 rows x 6 columns]

# 1, 2번 합치기
# LJ585가 중복발생함(2개에서 4개로 늘어남)
mdf = ndf1.merge(ndf2, how='inner', on=['Ac Reg No', 'Flt No', 'From'])
Ac Reg No   Flt No  From    To  STD ETD ATD STA ETA ATA CAPTAIN
HL7560  LJ584   CJU CJJ 1:45    1:45    1:52    2:50    2:49    2:49    CHOI,YUNKYUNG
HL7560  LJ585   CJJ CJJ 3:33    3:33    3:33    5:30    5:47    5:47    CHOI,YUNKYUNG
HL7560  LJ585   CJJ CJJ 3:33    3:33    3:33    4:40    8:42    8:42    CHOI,YUNKYUNG
HL7560  LJ585   CJJ CJU 3:30    6:00    7:29    5:30    5:47    5:47    KIM,HYO JIN_A
HL7560  LJ585   CJJ CJU 3:30    6:00    7:29    4:40    8:42    8:42    KIM,HYO JIN_A
HL7560  LJ558   CJU CJJ 8:25    9:25    9:57    9:35    11:06   11:06   KIM,HYO JIN_A

[134 rows x 11 columns]

# LJ585 부분만 추출
Ac Reg No   Flt No  From    To  STD ETD ATD STA ETA ATA CAPTAIN
HL7560  LJ585   CJJ CJJ 3:33    3:33    3:33    5:30    5:47    5:47    CHOI,YUNKYUNG
HL7560  LJ585   CJJ CJJ 3:33    3:33    3:33    4:40    8:42    8:42    CHOI,YUNKYUNG
HL7560  LJ585   CJJ CJU 3:30    6:00    7:29    5:30    5:47    5:47    KIM,HYO JIN_A
HL7560  LJ585   CJJ CJU 3:30    6:00    7:29    4:40    8:42    8:42    KIM,HYO JIN_A

# LJ585 원하는 결과
Ac Reg No   Flt No  From    To  STD ETD ATD STA ETA ATA CAPTAIN
HL7560  LJ585   CJJ CJJ 3:33    3:33    3:33    5:30    5:47    5:47    CHOI,YUNKYUNG
HL7560  LJ585   CJJ CJU 3:30    6:00    7:29    4:40    8:42    8:42    KIM,HYO JIN_A

이게 왜 중복으로 발생했는지 잘 모르겠습니다 보니까 ndf1, 2의 각 LJ585에 대해 모든 조합을 만들었습니다. 중복으로 발생 안 하게 하는 방법이 있을까요?

ndf1, ndf2의 순서는 같아서 공통된 열을 기준으로 양 옆으로 붙이고 싶은데 저렇게 중복이 발생합니다

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)