본문 바로가기
Study/Data Science 개인 공부

Do it! 데이터 분석을 위한 판다스 입문 3장

by 주원주 2023. 6. 23.

03 판다스 데이터프레임과 시리즈

03-1 나만의 데이터 만들기

  • 시리즈를 생성할 때 문자열을 인덱스로 지정 가능 >> Series 메서드의 index 인자를 통해 인덱스로 사용하고자 하는 문자열 리스트 전달
  • 데이터프레임을 만들기 위해서는 딕셔너리를 DataFrame 클래스에 전달해야 함
  • 데이터프레임에서 인덱스를 따로 지정하려면 index 인자에 리스트 전달
  • column 인자로 데이터프레임의 열 순서 지정
  • 딕셔너리를 전달했어도 columns 인자로 다시 열 이름 전달하면 열 순서는 columns 값을 따라감
  • 순서가 보장된 딕셔너리를 전달하려면 OrderedDict 클래스 사용

03-2 시리즈 다루기 (기초)

  • 데이터프레임에서 시리즈를 선택하려면 loc 속성에 인덱스 전달
  • index 속성: 시리즈의 인덱스가 들어가있음
  • values 속성: 시리즈의 데이터 저장
  • keys 메서드: index 속성과 같은 역할
  • mean, min, max, std와 같은 통계 메서드 >> 시리즈를 구성하는 데이터가 정수면 사용 가능
  • 시리즈에서 자주 사용하는 메서드
시리즈 메서드 설명
append 2개 이상의 시리즈 연결
describe 요약 통계량 계산
drop_duplicates 중복값이 없는 시리즈 반환
equals 시리즈에 해당 값을 가진 요소가 있는지 확인
get_values 시리즈 값 구하기(values 속성과 동일)
isin 시리즈에 포함된 값이 있는지 확인
min 최솟값 반환
max 최댓값 반환
mean 산술 평균 반환
median 중간값 반환
replace 특정 값을 가진 시리즈 값을 교체
sample 시리즈에서 임의의 값을 반환
sort_values 값을 정렬
to_frame 시리즈를 데이터프레임으로 변환

03-3 시리즈 다루기 (응용)

  • 불린 추출: 특정 조건을 만족하는 값만 추출 가능
    • 리스트 형태로 참이나 거짓을 담아 시리즈에 전달하면 참인 인덱스의 데이터만 추출
  • 브로드캐스팅(Broadcasting): 시리즈나 데이터프레임에 있는 모든 데이터에 대해 한 번에 연산하는 것
    • ex) ages > ages.mean()
  • 벡터: 시리즈처럼 여러 개의 값을 가진 데이터 (시리즈는 벡터의 한 종류)
  • 스칼라: 단순 크기를 나타내는 데이터
  • 벡터와 벡터의 연산은 일치하는 인덱스의 값끼리 수행

03-4 데이터프레임 다루기

  • 데이터프레임도 시리즈와 마찬가지로 불린 추출과 브로드캐스팅 가능
  • bool 벡터: 참, 거짓을 담은 리스트
    • bool 벡터의 길이가 데이터프레임의 행 길이보다 짧으면 bool 벡터의 길이만큼만 연산
  • 스칼라 연산: 모든 요소에 스칼라 적용하여 연산

03-5 시리즈와 데이터프레임의 데이터 처리하기

03-6 데이터 저장하고 불러오기

  • 피클: 데이터를 바이너리 형태로 직렬화한 오브젝트를 저장하는 방법
    • 스프레드시트보다 더 작은 용량으로 데이터 저장 가능
    • to_pickle 메서드 사용 (저장 경로를 문자열로 전달)
    • 반드시 read_pickle 메서드로 읽어 들여야 함
  • CSV 파일: 데이터를 쉼표로 구분하여 저장
  • TSV 파일: 데이터를 탭으로 구분하여 저장
  • 시리즈와 달리 데이터프레임은 엑셀 파일로 저장 가능
    • xls 파일로 저장 >> xlwt 라이브러리 필요
    • xlsx 파일로 저장 >> openpyxl 라이브러리 필요
    • 시리즈는 to_frame 메서드로 데이터프레임으로 변환한 후 엑셀 파일로 저장

 

출처: Do it! 데이터 분석을 위한 판다스 입문 (Chen, Daniel Y. 지음)

https://www.yes24.com/Product/Goods/64625506