데이터 분석

송호민·2022년 1월 26일
0

DataFrame

  • DataFrame:2차원(col과row)테이블 데이터 구조를 가진 자료형
  • 딕셔너리, 리스트, 파일을 이용해 DataFrame을 만든다. 파일을 이용할 때는 pd.read_csv()를 이용한다.(pd는 pandas를 의미) read_csv의 파라미터로 파일경로/파일이름.csv, 구분자(초기값은 ','), 인코딩 값을 이용한다.
  • DataFrame.head(), DataFrame.tail()을 이용해 5개 데이터의 값을 확인할 수 있다. 파라미터로 그 이상의 값을 볼 수 있다. -> 'n'파라미터를 사용

데이터를 가져오는 2가지 방법

  1. loc:이름,라벨을 기준으로 슬라이싱, 인덱싱하는 경우 사용. DataFrame의 행이나 열에 label로 접근. 사람이 읽을 수 있는 label값으로 데이터에 접근
  2. iloc:행 번호를 기준으로 슬라이싱, 인덱싱하는 경우 사용. DataFrame의 행이나 열에 인덱스 값으로 접근, 컴퓨터가 읽을 수 있는 인덱싱값으로 데이터에 접근

DataFrame 기본함수

  • shape:속성 반환값은 튜플이며 row와 col의 갯수를 튜플로 반환함(row,col순서)
  • columns:해당 DataFrame을 구성하는 컬럼명을 확인
  • info:데이터 타입, 각 아이템의 갯수 등을 출력
  • describe:데이터 컬럼별 요약 통계량을 나타낸다. 숫자형 데이터의 통계치를 계산
  • dtypes:데이터 형태의 종류

read_csv 함수의 파라미터

  • index_col:index로 사용할 column을 설정
  • usecols:실제로 DataFrame에 로딩할 columns만 설정. index_cols를 반드시 포함해야한다.

DataFrame 변형하기

  • pivot/pivot_table:DataFrame 형태를 변경하는 것. 원본 DataFrame의 columns를 row와 col로 조합하여 새로운 DataFrame를 만들 수 있다. 행 데이터를 열 데이터로 회전하여 파악할 수 있도록 한다.
    pivot_table은 aggfunc 파라미터를 사용하여 연산을 할 수 있다. index가 2개 이상인 경우나 columns가 2개 이상인 경우, 중복된 값이 있는 경우에도 pivot_table을 사용해야 한다.
  • stack/unstack:기존의 데이터에서 보고 싶은 데이터만 구조화하여 파악하고 싶은 경우에 사용한다. stack은 컬럼 레벨에서 인덱스 레벨로 DataFrame을 변경.
    unstack은 인덱스 레벨에서 컬럼 레벨로 DataFrame을 변경. 데이터를 연속적인 범주화로 나누어서 원하는 형태의 인덱스 구조를 갖는 DataFrame을 만들 수 있다. unstack은 stack으로 만들어진 DataFrame에서 특정 index에 해당하는 것을 columns 레벨로 옮겨 DataFrame을 변형할 수 있다.
    stack은 파라미터에 해당하는 인덱스 번호의 columns를 DataFrame의 인덱스로 사용하여 DataFrame를 변환한다.
  • groupby():각 그룹에 속한 index를 dict 형태로 표현. groupby의 내부 함수로 count, size, sum, mean, std, var, max, min을 사용할 수 있다.
  • aggregate 집계 함수를 groupby 결과에 적용하여 그룹별 mean, max 등의 데이터를 확인할 수 있다.

DataFrame 병합하기

  • concat:데이터 속성이 동일한 데이터 set을 합치는 경우에 사용
  • merge:특정한 column(key)을 기준으로 병합
  • join:index가 있는 경우 사용

0개의 댓글