CODEDRAGON ㆍDevelopment/Python
데이터프레임 병합
Pandas는 두 개 이상의 데이터프레임을 하나로 합치는 데이터 병합(merge)이나 데이터 연결(concatenate)을 할 수 있습니다.
· merge() · join() · concat() |
merge()
· 두 데이터 프레임의 공통 열 혹은 인덱스를 기준으로 두 개의 테이블을 합칩니다. 이 때 기준이 되는 열의 데이터를 키(key)라고 합니다.
· 테이블에 키 값이 같은 데이터가 여러개 있는 경우에는 있을 수 있는 모든 경우의 수를 따져서 조합을 만들어 냅니다.
· 두 데이터프레임에서 이름이 같은 열은 모두 키가 됩니다. 만약 이름이 같아도 키가 되면 안되는 열이 있다면 on 매개변수로 기준열을 명시해야 합니다.
· 키가 되는 기준열의 이름이 두 데이터프레임에서 다르면 left_on, right_on 매개변수를 사용하여 기준열을 명시해야 합니다.
· 일반 데이터 열이 아닌 인덱스를 기준열로 사용하려면 left_index 또는 right_index 인수를 True 로 설정합니다.
merge(dataframe1, dataframe2, how, on, left_on, right_on, left_index, right_index) |
parameter |
description |
||||||||||
dataframe1, dataframe2 |
· 병합할 데이터프레임 |
||||||||||
how |
· join 방식 지정
|
||||||||||
on |
· 두 데이터프레임에서 이름이 같은 열은 모두 키가 됩니다. 만약 이름이 같아도 키가 되면 안되는 열이 있다면 on 인수로 기준열을 명시합니다. · 출력시 기준 열이 아니면서 이름이 같은 열에는 _x 또는 _y 와 같은 접미사가 붙습니다. |
||||||||||
left_on='이름1', right_on="이름2" |
· 키가 되는 기준열의 이름이 두 데이터프레임에서 다르면 left_on, right_on 인수를 사용하여 기준열을 명시합니다. |
||||||||||
left_index, right_index |
· 일반 데이터 열이 아닌 인덱스를 기준열로 사용하려면 left_index 또는 right_index 인수를 True 로 설정합니다. |
join()
merge()함수 대신 join()함수를 사용하여 병합할 할 수 있습니다.
df1.join(df2, how='outer') |
concat()
· 기준 열(key column)을 사용하지 않고 단순히 데이터를 연결(concatenate)합니다.
· 기본적으로는 위/아래로 데이터 행을 연결합니다.
· 단순히 두 시리즈(Series)나 데이터프레임(DataFrame)을 연결하기 때문에 인덱스 값이 중복될 수 있습니다.
pd.concat([s1, s2]) |
pd.concat([df1, df2], axis=1) |
'Development > Python' 카테고리의 다른 글
frozenset 자료형 (0) | 2020.02.04 |
---|---|
Series객체의 속성 (0) | 2020.02.04 |
set vs dictionary vs list vs tuple (0) | 2020.02.04 |
numpy.argsort() (0) | 2020.02.03 |
리터럴을 통한 dict 생성, dict() 생성자를 통한 dict생성 (0) | 2020.02.03 |