본문 바로가기

Python/라이브러리

Pandas(병합)

병합

pd.merge()메소드는 특정 행 또는 열을 기준으로 두개의 데이터프레임을 병합하는 함수이다.

pd.merge(df1, df2, on='기준 열' how = 'inner' or 'outer' or 'left' or 'right')

 

  • inner join : 두 개 데이터프레임의 key가 모두 존재하는 경우에만 병합하는 방식 ( 공통된 key로만 병합)
  • outer join : 한쪽의 데이터프레임에만 key가 존재해도 두 데이터프레임을 병합하는 방식 ( 공통된 key가 없으면 null로 채워넣고 병합)
  • left join : 왼쪽 데이터프레임의 key를 기준으로 병합하는 방식
  • right join : 오른쪽 데이터프레임의 key를 기준으로 병합하는 방식

 

pd.concat()메소드는 기준 열 없이 병합한다.

pd.concat([df1, df2, ...], axis = 0 or 1, join = 'inner' or 'outer')

axis = 0은 열을 기준으로 병합한다. (위아래)

axis = 1은 행을 기준으로 병합한다. (옆으로)

 

추가로 ignore_index=True 인수를 사용하면 기존 인덱스를 무시하고 0부터 새로 지정.

 

 

 

조건식

대괄호 안에 조건식을 작성하면 해당 조건이 참인 경우에 해당하는 데이터만 추출한다.

df[df['age']>=20] # 'age'가 20 이상인 값만 추출해서 데이터프레임에 적용
df[df['city'] == '서울']['age'] # city컬럼이 서울인 age 컬럼 추출

 

 

 

그룹화

데이터프레임.groupby(['컬럼명', ...]).함수()

# 그룹별 데이터 갯수
df.groupby(['f1']).count()
# 그룹별 합계
df.groupby(['f1']).sum()
# 여러 그룹 사용
df.groupby(['f1','f2']).count()

 

'Python > 라이브러리' 카테고리의 다른 글

BeautifulSoup(웹 크롤링)  (0) 2024.08.13
Matplotlib  (0) 2024.08.09
Pandas (데이터프레임 다루기)  (0) 2024.08.07
Pandas(시리즈와 데이터프레임)  (0) 2024.08.07
Numpy  (0) 2024.08.05