concat() 함수는 데이터프레임을 위/아래 또는 좌/우로 병합해주는 함수로 잘 알려져 있는데요, concat() 함수로 한 데이터프레임 사이에 다른 데이터프레임을 삽입할 수도 있답니다.
한번 코드를 보면서 살펴보도록 하겠습니다.
- concat() : 데이터 프레임 사이에 다른 데이터 프레임 삽입하기
먼저 아래와 같은 데이터프레임이 있다고 가정해보겠습니다.
# df1
class num math
0 A 1 97
1 B 2 67
2 F 4 89
3 G 5 76
4 H 6 79
#df2
class num math
0 C 3 89
1 D 4 78
2 E 5 97
위와 같은 데이터프레임 df1, df2가 있을 때, 만약 df1의 1번째 행과 2번째 행 사이에 df2를 삽입하려면 아래와 같이 코드를 작성하면 됩니다.
row = 2
new_df = pd.concat([df1[0:row],df2,df1[row:]]).reset_index(drop=True)
먼저, df2가 삽입될 행은 2번재 행부터 이므로, row = 2 라는 변수를 만들어줍니다.
그리고, 마지막 줄 코드를 보면 pd.concat() 함수와 인덱스를 재배열 하기 위한 reset_index() 함수를 사용했습니다.
한편, concat() 함수는 인자를 [병합할데이터프레임1 + 병합할데이터프레임2 + 병합할데이터프레임3 + ,,, ]와 같이 코드를 입력하면 해당 데이터프레임이 차례로 병합되는데요, 위 코드처럼 [df1[0:row], df2, df1[row:]])은 df1의 0부터 1행까지의 데이터프레임에 df2 데이터프레임을 병합시키고 그 아래 df1의 2행부터 마지막행까지의 데이터를 추가한다는 의미를 담고 있습니다.
따라서 위와 같이 코드를 입력하고, 새로 만든 데이터 프레임을 출력하면 아래와 같은 데이터프레임이 출력됩니다.
class num math
0 A 1 97
1 B 2 67
2 C 3 89
3 D 4 78
4 E 5 97
5 F 4 89
6 G 5 76
7 H 6 79
'BLOG > 데이터분석' 카테고리의 다른 글
[데이터분석] 데이터프레임 : 특정 열(칼럼)에 있는 데이터를 연산해서 결측치(NaN) 채우기 - fillna() (0) | 2021.03.15 |
---|---|
[데이터분석] 데이터프레임 : 다른 열(칼럼)에 있는 값으로 결측치(NaN) 채우기 - fillna (0) | 2021.03.15 |
[데이터분석] 데이터프레임 : 다중 인덱스 설정하는 방법 - set_index() (0) | 2021.03.15 |
[데이터분석] 데이터프레임 : 정렬 후 인덱스 재정렬 하기 - reset_index(drop = True) (0) | 2021.03.15 |
[데이터분석] 데이터프레임 : 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기 (0) | 2021.03.15 |