exercise2 정리

김태희·2025년 1월 9일

Data Assembly


Concatenation

  • pd.concat()
    • 여러 개의 DataFrame을 결합할 때 사용하는 함수
    • 기본 적으로 행방향으로 결합 → axis=0
      • 열은 axis=1
    • ignore_index=True
      • 기존의 인덱스를 무시하고 새롭게 연속된 인덱스를 할당할 수 있음
  • .iloc[3, ]
    • 네 번째 행(0부터 시작)을 가져옴
  • .loc[3, ]
    • 인덱스 값이 3인 모든 행을 반환
  • join='outer'
    • 기본값
    • 모든 열(컬럼)을 포함
    • 공통 열이 없는 경우, 없는 값은 NaN으로 채워짐
  • join='inner'
    • 공통된 열(컬럼)만 유지
    • 불필요한 데이터 제거에 유용

Merge command

  • .merge
    • left_on='name’
      • name 열을 기준으로 병합
    • right_on='site’
      • site 열을 기준으로 병합

Join

  • key
    • 병합의 기준이 되는 열
  • lval
    • 왼쪽 데이터프레임에서 추가로 가져온 값
  • rval
    • 오른쪽 데이터프레임에서 추가로 가져온 값
  • pd.merge(left, right, on='key')
    • 두 데이터프레임을 key 열을 기준으로 병합

Reshaping


Reshaping

  • zip 함수와 *의 역할
    • *는 리스트를 unpack하여 zip 함수에 전달
  • pd.MultiIndex.from_tuples
    • tuples 리스트를 다중 인덱스 객체로 변환
  • stack과 unstack
    • stack
      • 열을 행으로 변환
      • 데이터프레임이 길게
    • unstack
      • 행을 열로 변환
      • 데이터프레임이 넓게

Pivot tables

  • 코드
    pd.pivot_table(df83, values='D', index=['A', 'B'], columns=['C'])
    • pd.pivot_table()
      • 데이터를 요약하거나 재구조화할 때 사용하는 피벗 테이블 생성 함수
      • 기본 집계 함수 : mean
        • aggfunc
          • 기본값은 mean이지만, 이를 통해 sum, count, min, max 등으로 요약 가능
    • values='D'
      • 열 D의 값을 요약하여 피벗 테이블의 셀 값으로 사용
    • index=['A', 'B']
      • A와 B 열을 행 인덱스로 설정
    • columns=['C']
      • C 열의 값을 열 헤더로 설정

Missing data

  • NaN
    • 비교불가능한 값으로, 자기 자신과도 같지 않음
      • ex) NaN == NaN → False임

Counting missing data

  • count()
    • 각 열에 대해 결측값이 아닌 데이터의 개수를 세는 함수입니다
  • np.count_nonzero(array)
    • 배열에서 0이 아닌 값의 개수를 계산
    • NaN 값의 개수를 알고 싶으면 isnull()과 함께 사용하면 됨
  • .interpolate()
    • 누락된 값 (NaN) 을 선형 보간법을 사용해 자동으로 채워 넣음
    • method='linear'
      • 기본값
      • 선형 보간 방식으로 값을 채움
    • method='polynomial'
      • 다항식 보간법을 사용할 수 있음
      • order 매개변수로 다항식의 차수를 지정할 수 있음
    • limit
      • 한 번에 보간할 수 있는 최대 NaN 개수를 제한할 수 있음
  • skipna
    • skipna=True
      • 기본값
      • NaN 값을 무시하고 합을 계산
    • skipna=False
      • NaN 값을 무시하지 않고 계산에 포함 만약 NaN이 하나라도 있으면 결과는 NaN

Tidy data

  • pd.melt()
    • 데이터프레임을 긴 형식으로 변환하는 데 사용됨
    • wide format 데이터를 tidy data 데이터로 바꾸는 데 유용
    • id_vars
      • 변환되지 않고 고정될 열을 지정
  • .str.split('_')
    • 문자열을 다루는 .str 접근자를 사용하여 각 값을 언더스코어(_)를 기준으로 나눔

    • 문자열을 분할하여 리스트 형태로 반환

      status_values = variable_split.str.get(0)
    • .str.get(0)

      • 각 리스트에서 첫 번째 값을 가져옴
profile
내 벨로그

0개의 댓글