[Pandas] 2. DataFrame 결합과 정렬

2024. 3. 27. 21:00·IT

DataFrame 결합 : concat(), merge()

DataFrame을 결합하는 방법으로는 `pd.concat()`과 `pd.merge()` 2가지가 있습니다.

 

1) pd.concat()

concat 함수를 사용하면 단순히 데이터를 연결할 수 있습니다.

  • 기본 사용 방법
    • `pd.concat([df1, df2])` : DataFrame df1과 df2를 이어 붙이기
  • 옵션
    • axis : 축 (0 : 세로로[default], 1 : 가로로)
    • join : 합치는 방법 : (outer : 합집합[default], inner : 교집합)
# 기본 사용
df_concat = pd.concat([df1, df2])

# 세로로 합치기 (default)
pd.concat([df1, df2], axis = 0)

# 가로로 합치기
pd.concat([df1, df2], axis = 1)

# 가로로 교집합
pd.concat([df1, df2], axis = 1, join = 'inner')

 

2) pd.merge()

merge 함수는 DataFrame을 각 데이터에 존재하는 고유한 key 값을 기준으로 병합할 수 있습니다.

  • 기본 사용 방법
    • `pd.merge(df_left, df_right, on=key값)` : on(key값)을 기준으로 병합. 명시하지 않으면 자동으로 잡아줌.
  • 옵션
    • how : 합치는 방법 (left, right, inner, outer)
    • on : 기준으로 사용할 열, key 값
# 기본 사용
df_merge = pd.merge(df_left, df_right)

# on(key값) 명시
df_merge = pd.merge(df_left, df_right, on='movieId')

# how=outer
df_merge = pd.merge(df_left, df_right, how='outer')

 

 

정렬 : sort_values()

pandas 라이브러리를 활용하여 데이터를 필요에 맞게 정렬할 수 있습니다.

  • 기본사용법
    • `df.sort_values(by='정렬 기준이 되는 컬럼')` : 해당 열의 값을 기준으로 오름차순 정렬
  • 옵션
    • by : 정렬 기준이 되는 컬럼. list 형태로 여러 컬럼 넣을 수 있음.
    • ascending : 정렬 방법 (True=오름차순, False=내림차순)
# 기본 사용
df.sort_values(by='movieId')

# 내림차순 정렬
df.sort_values(by='movieId', ascending=False)

# 복합 열 정렬 : 별도로 저장하고, 인덱스 reset
temp = df.sort_values(by=['JobSatisfaction', 'MonthlyIncome'], ascending=[True, False])
temp.reset_index(drop = True)

 

행 인덱스 초기화 : reset_index()

데이터 프레임의 index를 초기화하여 재배열 할 수 있습니다.

  • 기본사용법
    • `df.reset_index()` : 인덱스를 다시 0부터 시작하도록 reset. 기존 인덱스가 새로운 컬럼으로 저장됩니다.
  • 옵션
    • `drop` : True 옵션을 주면 기존 인덱스는 삭제
저작자표시 비영리 변경금지 (새창열림)

'IT' 카테고리의 다른 글

[Pandas] 4. 결측치 처리  (0) 2024.03.27
[Pandas] 3. DataFrame 조회(필터링), 변경  (0) 2024.03.27
[Pandas] 1. 데이터 탐색  (0) 2024.03.27
[Ubuntu] 우분투 Root 계정 비밀번호 설정  (0) 2024.02.21
[Docker] 컨테이너 사용 방법. docker 명령어  (0) 2024.02.20
'IT' 카테고리의 다른 글
  • [Pandas] 4. 결측치 처리
  • [Pandas] 3. DataFrame 조회(필터링), 변경
  • [Pandas] 1. 데이터 탐색
  • [Ubuntu] 우분투 Root 계정 비밀번호 설정
기록미
기록미
많은 것들을 기록하고자 합니다.
  • 기록미
    기록의 아름다움
    기록미
  • 전체
    오늘
    어제
    • 전체 (35)
      • IT (22)
      • 블로그 (8)
      • 취미 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 관리 페이지
  • 링크

    • github 블로그
  • 공지사항

  • 인기 글

  • 태그

    docker
    Git
    가상환경
    anaconda
    우분투
    아이패드 드로잉
    Mac
    homebrew
    Python
    Jupyter Notebook
    karabiner
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
기록미
[Pandas] 2. DataFrame 결합과 정렬
상단으로

티스토리툴바