concat()
concat()
함수는 Pandas에서 사용되는 데이터프레임을 합치는 함수이다. 이 함수를 사용하면 여러 개의 데이터프레임을 행 또는 열 방향으로 합칠 수 있다.
- 기본적으로
concat()
함수는 행 방향(axis=0
)으로 데이터프레임을 연결한다. 이 경우에는 인덱스가 연속적으로 증가한다.pd.concat([df1, df2])
- 수평 방향(
axis=1
)으로 연결하려면 axis 매개변수를 1로 설정하면 되며 이 경우에는 열이 연속적으로 증가한다.pd.concat([df1, df2], axis=1)
sales_day1 = pd.DataFrame(
{"date" : ["2023-07-01","2023-07-01", "2023-07-01", "2023-07-01", "2023-07-01"] ,
"category1" : ["메인", "메인", "사이드", "음료", "사이드"] ,
"category2" : ["양념치킨", "간장치킨", "치즈볼", "콜라", "감자튀김"],
"count" : [1, 2, 1, 4, 1],
"price" : [20000, 50000, 6000, 8000, 8000]})
sales_day1
sales_day2 = pd.DataFrame(
{"date" : ["2023-07-02","2023-07-02", "2023-07-02", "2023-07-02", "2023-07-02"] ,
"category1" : ["사이드", "메인", "메인", "음료", "메인"] ,
"category2" : ["국물떡볶이", "간장치킨", "후라이드", "제로콜라", "양념치킨"],
"count" : [1, 3, 1, 3, 2],
"price" : [10000, 75000, 18000, 9000, 40000]})
sales_day2
pd.concat([sales_day1, sales_day2])
# 또는
pd.concat([sales_day1, sales_day2], axis=0)
위와 같이 두 개의 데이터프레임인 'sales_day1'과 'sales_day2'를 수직으로 합친다. pd.concat()
함수를 사용하여 두 데이터프레임을 연결할 수 있다. 기본적으로 concat()
함수는 axis=0
을 기준(행을 기준으로)으로 데이터를 합친다.
따라서 위의 두 코드 모두 동일한 결과를 반환하며 결과적으로는 'sales_day1'의 아래에 'sales_day2'가 붙은 형태의 새로운 데이터프레임이 생성된다.
pd.concat([sales_day1, sales_day2], axis=1)
위와 같이 두 개의 데이터프레임인 'sales_day1'과 'sales_day2'를 수평으로 합친다. pd.concat()
함수를 사용하여 두 데이터프레임을 연결할 수 있다. 이때 axis=1
옵션을 사용하여 수평 방향(열을 기준)으로 데이터를 합친다. 결과적으로는 두 데이터프레임의 열이 나란히 붙은 새로운 데이터프레임이 생성된다.
sales_day3 = pd.DataFrame(
{"date" : ["2023-07-03","2023-07-03", "2023-07-03", "2023-07-03"] ,
"category1" : ["사이드", "메인", "메인", "음료"] ,
"category2" : ["국물떡볶이", "간장치킨", "후라이드", "제로콜라"],
"count" : [1, 3, 1, 3],
"가격" : [10000, 75000, 18000, 9000]})
sales_day3
pd.concat([sales_day1, sales_day3], axis=0)
만약 하나의 컬럼이 동일하지 않다면, 위의 이미지와 같이 concat을 하는 과정에서 NaN 값이 생긴다.