BLOG/데이터분석
[데이터분석] 데이터프레임 : 데이터프레임 사이에 다른 데이터프레임 삽입하기 - concat()
알디노
2021. 3. 15. 18:18
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