내가 필요해서 간략하게 정리하는 파이썬(Python) 판다스(Pandas) 라이브러리의 기본 함수 및 명령어입니다.

파일 불러오기 및 저장

  • pd.read_csv("파일명") : csv 파일 불러오기
    • pd.read_table : tsv 파일 불러오기
    • pd.read_excel() : 엑셀 파일 불러오기
    • pd.read_sql() : 쿼리 불러오기
    • pd.read_json : json 파일 불러오기
    • pd.read_html : html 파일 불러오기
    • pd.read_clipboard() : 클립보드에 있는 내용 불러오기
    • pd.DataFrame(dict) : 딕셔너리 타입 불러오기
  • .copy() : 데이터 복사해서 사용
  • .to_csv("파일명", index=False) : csv 파일로 저장하기
    • .to_excel : 엑셀 파일로 저장
    • .to_sql : sql 파일로 저장
    • .to_json : json 파일로 저장
  • .head() : 가장 앞에 있는 데이터 일부 확인(기본값: 5행)
  • .tail(): 가장 마지막에 있는 데이터 일부 확인(기본값: 5행)
  • .sample() : 임의의 일부 데이터 확인(기본값: 5행)
  • .T , .transpose : 행과 열 변경하기

요약과 기술통계

  • .shape: 데이터프레임의 행과 열 개수 확인
    • len(df) : 데이터 행의 개수 확인
  • .info(): 데이터의 개괄적인 특징 파악 (column 이름, 결측치 여부, 데이터 타입)
  • .describe(): 숫자형 데이터 통계요약치 제시
    • .mean() : 평균값
    • .median() : 중위값
    • .min() : 최소값
    • .max() : 최대값
    • .std() : 표준편차
    • .count() : 개수
    • .corr() : 상관관계 계수
  • .nunique() : 각 변수별 유일한 값의 수(set의 의미)
  • .duplicated() : 중복 값 확인
  • .isnull().sum() : 변수별 결측치 수 확인
    • .dropna() : 결측치 삭제
    • .fillna() : 결측치 대체
  • .index : 인덱스 번호 모두 출력
  • .columns : 컬럼명 모두 출력
  • .values : 값 출력

색인하기

  • .loc[행, 열] : 해당 행의 해당 열만 출력
    • .loc[ : , 열] : 해당 열에 해당하는 전체 행
    • .loc[ : , : ] : 전체 행과 열
  • .iloc[행] : 해당 행 출력
    • .iloc[0, : ] : 첫번째 행의 전체 열
    • .iloc[0,0] : 첫번째 행의 첫번째 열
    • .iloc[ : ,0] : 첫번째 열의 전체 행
  • .query(조건) : 조건에 해당하는 행만 출력
  • .sort_values('변수') : ‘변수’의 값에 따라 정렬(오름차순)
    • .sort_values('변수', ascending = False) : ‘변수’의 값에 따라 정렬(내림차순)
  • .sort_index() : 인덱스 정렬
  • .set_index('변수') : 해당 변수를 인덱스로 설정
  • .reset_index() : 새로운 인덱스 값 부여

데이터 타입 확인 및 변경

  • .dtypes : 각 변수의 데이터 타입 확인
    • int, float, bool, str, datetime, category, binary 등
  • .astypes() : 데이터 타입 변경
  • pd.to_datetime(변수, format='%Y-%m-%d %H:%M:%S') : 문자 변수 날짜 데이터(YYYY-mm-dd HH:MM:SS)로 변환
    • .dt.date : 날짜 데이터의 날짜(연, 월, 일) 출력
    • .dt.time : 날짜 데이터의 시간(시, 분, 초) 출력
    • .dt.year : 날짜 데이터의 연도만 출력

삭제 및 변경

  • .drop(columns = ['변수']) : 해당 변수 열 삭제
  • .drop_duplicaates() : 중복 행 제거
  • .rename(columns = {'변수': '새변수'}) : 변수명 변경
  • .replace(a, b) : a값을 b로 변경

그룹별 집계

  • .groupby(): 특정 column을 기준으로 정렬
  • .pivot_table(index = 변수1,values =[변수2, 변수3], aggfunc = mean) : 변수1를 기준으로 한 그룹별 변수2와 변수3의 평균값 확인

데이터 합치기

  • df1.append(df2) : df1 아래에 df2 데이터 붙이기(단, 변수(columns)는 동일해야 함)
  • pd.concat([df1, df2]) : df1 아래에 df2 데이터 붙이기(단, 변수(columns)는 동일해야 함)
  • pd.concat([df1, df2], axis = 1) : df1 옆으로 df2 데이터 붙이기(단, 행(rows)는 동일해야 함)
  • pd.merge(df1, df2, on = 변수1, how = 'inner') : 변수1을 기준으로 df1과 df2 합치기
    • how: ‘inner’, ‘left’, ‘right’, ‘outer’ 등 가능

덧붙이는 말: 혹시 오류가 있다면 제보 주세요!