Pandas 활용1 - 개념, 시리즈/데이터프레임 생성, NaN, 연산, csv생성/호출, excel생성/호출

반응형

판다스란?

  • 파이썬 언어로 제작된 데이터 조작과 분석을 위한 소프트웨어 라이브러리 (외부 모듈)
  • 리스트의 기능을 확장시켜 기존보다 더욱 다양한 데이터 조작, 가공

판다스의 특징

  • 기본적인 통계 데이터 제공
  • 없는 수치(NaN=Not a Number) 자동 처리
  • 데이터셋 재구조화
  • 통합 인덱싱을 활용한 데이터 조작

판다스의 기본 개념

  • 시리즈(Series)란? 1차원 형태를 갖는 배열

노란칸이 인덱스, 하얀칸이 밸류를 뜻 함

 

  • 데이터프레임(DataFrame)이란? 2차원 형태를 갖는 배열

노란칸이 인덱스, 하얀칸이 컬럼을 뜻함


판다스 외부 모듈 호출하기

import pandas
  • import가 되지 않을 경우
    • 명령 프롬프트에서 pip install pandas 입력
    • 주피터 노트북일 경우 !pip install pandas 코드 실행

데이터 생성하기

  • 시리즈 생성하기
  • pandas.Series(data= 값, index= 인덱스의 값)
    • Series = O, series = X / 대소문자 구분 필수
    • 인덱스는 숫자가 아닌 문자열도 가능

  • 그 외 시리즈 정보
    • 주의 : 판다스에서는 넘파이의 reshape를 지원하지 않습니다.

  • 시리즈를 데이터프레임 형태로 보기
  • pandas.to_frame() : 시리즈의 형태를 데이터프레임 형태로 출력

 

  • 데이터프레임 생성하기
  • pandas.DataFrame(data= 컬럼(항목), index= 인덱스의 값)
    • DataFrame = O, dataframe = X / 대소문자 구분 필수

과목이 인덱스, 이름이 칼럼, NaN는 없음을 뜻함

  • 그 외 데이터프레임 정보


NaN(Not a Number)

정의

  • NaN이란? 값이 없을 때의 값 (=null)

NaN이 존재하는지 확인해보기

  • .isna() : NaN값이 있을 경우 True, 없을 경우 False 값 반환
    • sum 함수를 이용하여 반환 받은 True값으로 NaN의 총 갯수를 확인 가능
  • .notna() : isna의 반대개념. NaN값이 없을 경우 False, 있을 경우 True 값 반환

NaN 삭제하기 / 처리하기

  • .dropna() : NaN이 있는 인덱스 제거, 다른 칼럼에 값이 있어도 제거 됨

NaN이 존재하면 다른 칼럼에 값이 있어도 제거

  • .fillna(n) : NaN의 값을 n 값으로 모두 변환
    • fillna(n, method=ffill/bfill) : 메소드의 종류에 따라 NaN 값 동일하게 변환
      • ffill > 이전 값이 있으면 NaN를 이전 값과 동일하게 변환
      • bfill > 이후 값이 있으면 NaN를 이후 값과 동일하게 변환

NaN값을 없음으로 대체


데이터끼리 연산하기

  • 기본적인 사칙연산
    • 특정 값에 연산
    • 모든 값에 연산

  • 그 외 연산
  • sum(합), max(최대값), min(최소값), mean(평균값), median(중앙값),
    std(표준편차), count(갯수), describe(통계데이터) 등등


csv

  • csv란? comma separated values, 데이터는 콤마로 구분
  • csv의 규칙 : 맨 위의 행은 컬럼명

csv 생성하기

  • 메모장으로 생성
    • 맨 위의 행은 칼럼명이므로 칼럼명 순서대로 나열 후 값 입력
    • 저장할 때 확장자는 반드시 .csv 로 저장
    • 데이터의 값마다 콤마(,) 입력

 

  • 데이터프레임을 파일화
    • .to(csv('파일명.csv')

df 파일화하기

 

주의 : 현재 사용중인 파일의 경로에 생성

경로에 생성 확인

 

csv 호출하기 / 불러오기

  • 메모장으로 생성하였던 파일(csv_test.csv) 불러오기
  • 데이터프레임을 파일화했던 파일(my_test2.csv) 불러오기
    • .read_csv('파일.csv')
    • 데이터프레임을 파일화 할 때 인덱스의 값도 같이 저장되기 때문에 불러올 때 인덱스의 값도 같이 호출
    • Unnamed 칼럼을 삭제하거나, 해당 칼럼을 인덱스(set_index 사용) 설정


Excel을 이용하여 데이터프레임 만들기 (엑셀 생성/호출하기)

엑셀로 작성하여 데이터프레임 만들고, 불러오기

  • 데이터프레임 만들 엑셀 작성하기 (xls, xlsx)
  • 첫 행은 호출 예제의 이해를 돕기 위해 일부러 비워놨습니다.

 

  • 엑셀파일 불러오기
  • pandas_read_excel('파일명', header= ~ , usecols= ~ )
  • header : 컬럼명이 될 행 번호(0부터시작)
  • usecols : 사용할 컬럼, 없으면 전체 출력

 

  • 데이터프레임을 엑셀파일로 저장하기
  • .to_excel( ' .xls | .xlsx ')

 

  • 엑셀파일로 csv 생성하기

 

반응형