[혼공데분] 1주차 : Chapter 01

·2024년 7월 7일
0
post-thumbnail

1주차 진도(7/1 ~ 7/7) : Chapter 01

✅ 기본 미션

p. 81의 확인 문제 4번 풀고 인증하기


✅ 선택 미션

p. 71 ~ 73 남산 도서관 데이터를 코랩에서 데이터프레임으로 출력하고 화면 캡처하기



📖 내용 정리

데이터 분석 vs 데이터 과학

특징데이터 분석데이터 과학
범주비교적 소규모대규모
목표의사 결정 돕기 위한 통찰 제공문제 해결 위한 최선 솔루션 만듦
주요 기술컴퓨터 과학, 통계학, 시각화 등컴퓨터 과학, 통계학, 머신러닝, 인공지능 등
빅데이터사용사용

넓은 의미의 데이터 분석 (데이터 분석가의 작업 과정)

  • 데이터 수집
  • 데이터 처리
  • 데이터 정제
  • 모델링

좁은 의미의 데이터 분석 (통계적 관점)

  • 기술 통계 (Descriptive statistics)
    • 관측, 실험 통해 수집한 데이터 정량화/요약 기법
    • 평균 계산, 최솟값/최댓값 얻기
  • 탐색적 데이터 분석 (EDA; Exploratory Data Analysis)
    • 데이터 시각적으로 표현해 주요 특징 찾고 분석하는 방법
    • 그래프 사용
  • 가설검정 (Hypothesis testing)
    • 주어진 데이터 기반으로 특정 가정 합당한지 평가하는 통계 방법

데이터 분석에 사용할 파이썬 필수 패키지

  • 넘파이 (Numpy)
    • 고성능 과학 계산 & 다차원 배열(array) 위한 파이썬 패키지
  • 판다스 (Pandas)
    • 파이썬 데이터 분석 위한 전문 패키지
    • 데이터프레임(DataFrame) 사용
    • 편리한 데이터 처리 & 분석 작업 위한 기능 제공
    • 그래프 출력 기능
  • 맷플롯립 (matplotlib)
    • 파이썬 데이터 시각화 위한 기본 패키지
    • 정적/동적 그래프, 다양한 그래프 제공
    • 유사 패키지: seaborn, bokeh
  • 사이파이 (Scipy)
    • 넘파이 기반 수학 & 과학 계산 전문 패키지
    • 미분, 적분, 확률, 선형대수, 최적화 등 알고리즘으로 구현
  • 사이킷런 (scikit-learn)
    • 파이썬 머신러닝 패키지

CSV 파일 (comma-separated-values)

  • 콤마(,)로 구분된 덱스트 파일
  • 표 형태 → 레코드의 필드 개수 모두 동일
    • 한 줄 = 하나의 레코드(record)
    • 레코드 = 콤마로 구분된 여러 필드(field)
  • 엑셀과 비교
    • 행(row) = CSV의 한 줄
    • 열(column) = 콤마로 구분

read_csv() 함수

  • pandas에서 CSV 파일 읽을 경우 사용
  • 매개변수
    • encoding : 인코딩 방식 지정
    • low_memory : 메모리 효율 사용 위해 파일 나누어 읽기
      • False : 파일 한 번에 읽기
    • header = None : 데이터 첫 행에 열 이름 ❌ 전달
    • names : 열 이름 리스트 따로 전달, 중복 이름 ❌
    • index_col : 파일의 인덱스 여부 표시, 있으면 0

to_csv() 함수

  • pandas데이터프레임CSV로 저장
  • 기본 : UTF-8
  • 매개변수
    • index : 인덱스 추가할지 뺄지 지정
       # index=False : 인덱스 빼고 저장
       df.to_csv('ns_202104.csv', index=False)     

open() 함수

  • 파일 열고 파일 객체 반환하는 함수

  • 사용 후 close() 함수로 파일 닫아줘야 함

    • with 구문으로 파일 자동 닫기 가능
  • 인코딩 지정 ❌ → 기본 인코딩 방식 적용(UTF-8)

    • 한글 텍스트: EUC-KR 사용
  • 매개변수

    • file: 열고자 하는 파일 경로, 이름

    • mode: 열 때 사용할 모드

      종류기능
      r읽기 모드 (기본값)
      w쓰기 모드
      a추가 모드
      b바이너리 모드
      t텍스트 모드
      +읽기와 쓰기 모두 가능
      rb바이너리 읽기 모드
      w+읽기와 쓰기 모드
    • buffering: 버퍼링 정책 (기본값: -1, 시스템 기본값 사용)

    • encoding: 인코딩 설정 (기본값: None, 시스템 기본 인코딩 사용)

    • errors: 인코딩 및 디코딩 오류 처리 방식 설정 (기본값: None)

    • newline: 개행 문자 처리 방식 설정 (기본값: None)


with 구문과 open() 함수

# with 구문 사용 X
file = open('text.txt', 'r', encoding='utf-8')
content = file.read()
print(content)
file.close()

# with 구문 사용 O
with open('text.txt', 'r', encoding='utf-8') as file:
	content = file.read()
   print(content)

readline() 함수

  • 주어진 파일에서 완전한 한 줄만 읽기

    with open('/content/남산도서관 장서 대출목록 (2021년 04월).csv', encoding='EUC-KR') as f:
       print(f.readline())
  • 인수로 size 줄 수 있음

    # 숫자, 정수 값 지정 가능 → 해당 크기의 문자열 가져옴
    # 기본 크기 값: -1 → 전체 문자열 반환
    file.readline(size)

chardet.detect() 함수

  • 문자 인코딩 방식 확인 가능

0개의 댓글