두 데이터프레임 합치기
조회수 570회
rekfs_skd_l[5]
STD STA TYP
FLT
171 08:30 11:30 B738
172 12:40 17:40 B738
172 18:20 19:35 B738
211 08:40 10:25 B738
212 11:25 13:20 B738
.. ... ... ...
594 17:55 18:45 B738
595 19:20 20:25 B738
761 22:00 17:05 B772
791 04:20 08:20 J7Q
792 12:40 20:10 J7Q
[118 rows x 3 columns]
rost_skd_l[5]
STD STA TYP
FLT
171 08:00 11:30 B738
172 12:40 17:40 B738
172 18:20 19:35 B738
211 08:40 10:25 B738
212 11:25 13:20 B738
.. ... ... ...
594 17:55 18:45 B738
595 19:20 20:25 B738
761 22:00 17:05 B772
791 04:20 08:20 B772
792 12:40 20:10 B772
[126 rows x 3 columns]
pd.merge(rekfs_skd_l[5], rost_skd_l[5], left_index=True, right_index=True, how='outer')
STD_x STA_x TYP_x STD_y STA_y TYP_y
FLT
171 08:30 11:30 B738 08:00 11:30 B738
172 12:40 17:40 B738 12:40 17:40 B738
*172 12:40 17:40 B738 18:20 19:35 B738
172 18:20 19:35 B738 *12:40 17:40 B738
*172 18:20 19:35 B738 *18:20 19:35 B738
.. ... ... ... ... ... ...
594 17:55 18:45 B738 17:55 18:45 B738
595 19:20 20:25 B738 19:20 20:25 B738
761 22:00 17:05 B772 22:00 17:05 B772
791 04:20 08:20 J7Q 04:20 08:20 B772
792 12:40 20:10 J7Q 12:40 20:10 B772
[128 rows x 6 columns]
두 데이터프레임의 차이점을 비교하고 싶습니다.(시간, type, 두 데이터프레임 중 한개만 있는 FLT 등) 두 데이터 프레임을 합쳐서 차이점을 보려는데 중복되는 데이터가 생깁니다. 중복없이 하려면 어떻게 해야 하나요?
중복되는 부분은 위에는 *로 표시해놨습니다.
# 중복되는 부분
172 12:40 17:40 B738
172 18:20 19:35 B738
1 답변
-
두 데이터프레임 모두에서 인덱스인 FLT 의 값이 172인 것이 두개씩이잖아요.
인덱스를 기준으로 합쳐지니까, 172번 인덱스를 합칠 때에는, 2개씩을 합치는 모든 조합을 만들어야 해서, 2x2 개가 만들어지는 거죠.
rekfs rost 172 a 172 c 172 a 172 d 172 b 172 c 172 b 172 d 이렇게요.
이걸 172a+172c, 172b+172d 만 만들고 싶다면, 합치기 전에 두 개씩 있는 172번 row 를 구분할 수 있는 다른 인덱스를 만들어서, 그 인덱스를 기준으로 merge 해야 겠지요.
댓글 입력