파이썬 판다스 concat 질문
조회수 976회
안녕하세요
행 인덱스가 다른 두 데이터프레임(열 이름은 같음)을 합치고 싶은데 아래처럼 벨류에러가 뜹니다.
pd.concat([rost_skd_l[3], rekfs_skd_l[3]], axis=1)
ValueError: Shape of passed values is (87, 6), indices imply (86, 6)
rost_skd_l[3].tail()
STD STA TYP
FLT
595 20:10 21:10 B738
791 04:40 08:20 B772 # 없는 부분
792 12:40 20:00 B772 # 없는 부분
851 10:00 10:35 B772
852 15:35 18:05 B772
rekfs_skd_l[3].tail()
STD STA TYP
FLT
593 08:35 09:25 B738
594 18:35 19:35 B738
595 20:10 21:10 B738
851 10:00 11:35 B738
852 16:35 18:05 B738
rost_skd_l[3].info()
<class 'pandas.core.frame.DataFrame'>
Index: 87 entries, 081 to 852
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 STD 87 non-null object
1 STA 87 non-null object
2 TYP 87 non-null object
dtypes: object(3)
rekfs_skd_l[3].info()
<class 'pandas.core.frame.DataFrame'>
Index: 85 entries, 081 to 852
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 STD 85 non-null object
1 STA 85 non-null object
2 TYP 85 non-null object
dtypes: object(3)
근데 reset_index()나 ignore_index 로 하면 합쳐져요. 원래 concat 함수는 해당되는 행이 없으면 그 행은 NaN 값으로 채워지는거 아니었나요? 인터넷 찾아보고 있는데 잘 모르겠어요 ㅠ
595 20:10 21:10 B738 # 생략
791 04:40 08:20 B772 NaN NaN NaN NaN
792 12:40 20:00 B772 NaN NaN NaN NaN
851 10:00 11:35 B738 # 생략
852 16:35 18:05 B738 # 생략
어떻게 해야 위에처럼 합칠 수 있을까요? 두개의 데이터프레임의 행 인덱스 수는 rost_skd_l가 많을 수도 있고 rekfs_skd_l이 많을 수도 있습니다
댓글 입력