나랑 now

[혼공분석] 1주차_데이터 분석을 시작하며 본문

혼공학습단/혼공분석

[혼공분석] 1주차_데이터 분석을 시작하며

nowj8n 2024. 1. 5. 21:02
반응형
# 진도 기본 미션 선택 미션
1주차
(1/2 ~ 1/7)
Chapter 01 p. 81의 확인 문제 4번 풀고 인증하기 p. 71 ~ 73 남산 도서관 데이터를 코랩에서 데이터프레임으로 출력하고 화면 캡처하기
2주차
(1/8 ~ 1/14)
Chapter 02 p. 150의 확인 문제 1번 풀고 인증하기 p. 137 ~ 138 손코딩 실습으로 원하는 도서의 페이지 수를 추출하고 화면 캡처하기
3주차
(1/15 ~ 1/21)
Chapter 03 p. 182의 확인 문제 2번 풀고 인증하기 p. 219의 확인 문제 5번 풀고 인증하기
4주차
(1/22 ~ 1/28)
Chapter 04 p. 279의 확인 문제 5번 풀고 인증하기 Ch.04(04-1)에서 배운 8가지 기술통계량(평균, 중앙값, 최솟값, 최댓값, 분위수, 분산, 표준편차, 최빈값)의 개념을 정리하기
5주차
(1/29 ~ 2/4)
Chapter 05 p. 314의 손코딩(맷플롯립에서 bar()함수로 막대 그래프 그리기)을 코랩에서 그래프 출력하고 화면 캡처하기  p. 316의 손코딩(텍스트 정렬, 막대 조절 및 색상 바꾸기)을 코랩에서 출력하고 화면 캡처하기
6주차
(2/5 ~ 2/12)
Chapter 06 p. 344의 손코딩(맷플롯립의 컬러맵으로 산점도 그리기)을 코랩에서 그래프 출력하고 화면 캡처하기 p. 356 ~ 359의 스택 영역 그래프를 그리는 과정을 정리하기
  • 데이터 과학 vs 데이터 분석
특징 데이터 분석 데이터 과학
범주 비교적 소규모 대규모
목표 의사 결정을 돕기 위한 통찰을 제공하는 일 문제 해결을 위해 최선의 솔루션을 만드는 일
주요 기술 컴퓨터 과학, 통계학, 시각화 등 컴퓨터 과학, 통계학, 머신러닝, 인공지능 등
빅데이터 사용 사용
  • 데이터 분석: 올바른 의사 결정을 돕기 위한 통찰을 제공
  • 데이터 과학: 문제 해결을 위한 최선의 솔루션 제시

통계적 관점의 데이터 분석 영역
1. 기술통계: 관측이나 실험을 통해 수집한 데이터를 정량화하거나 요약하는 기법
2. 탐색적 데이터 분석: 데이터를 시각적으로 표현하여 주요 특징을 찾고 분석하는 방법
3. 가설검정: 주어진 데이터를 기반으로 특정 가정이 합당한지 평가하는 통계 방법
- 좁은 의미의 데이터 분석 : 기술통계, 탐색적 데이터 분석, 가설검정
- 넓은 의미의 데이터 분석 : 데이터 수집, 데이터 처리, 데이터 정제, 모델링



데이터 분석을 위한 파이썬 패키지
1. 넘파이: 고성능 과학 계산과 다차원 배열을 위한 패키지.
2. 판다스: 데이터 처리와 분석 작업을 위한 패키지.
3. 맷플롯립: 데이터 시각화를 위한 기본 패키지. 정적 혹은 동적인 그래프를 그릴 수 있으며, 고품질의 다양한 그래프 제공
4. 사이파이: 넘파이를 기반으로 구축된 수학과 과학 계산 전문 패키지. 미적분, 확률, 선형대수, 최적화 등을 알고리즘으로 구현
5. 사이킷런: 데이터 과학 분야에서 널리 사용하는 머신러닝 패키지



판다스, Pandas, pd

  • Pandas 자료구조:
    1. Series: 1차원 배열. 정수값, 문자열, Python의 기본 객체 어떤 것들도 값으로 취할 수 있으나 Python의 기본 자료 구조인 List와는 달리 Series의 모든 값은 동일한 종류의 데이터 타입이 담겨야 한다.
    2. DataFrame: 2차원 배열. 행과 열로 구성된 테이블처럼 2차원 배열을 취하는 자료 구조. 열마다 다른 데이터 타입을 취할 수 있다.
  • 학습 함수:
    1. read_csv(): CSV(Comma-Seperated Values) 파일을 DataFrame으로 읽을 수 있다.2. DataFrame.to_csv(): 객체를 CSV 파일로 작성할 수 있다.
    옵션값으로 파일을 청크로 나누거나 각 청크에 대한 접근도 가능하게 할 수 있는 듯한데, 이건 iterator에 대한 이해가 부족해서 다음번에 계속...
    2. DataFrame.to_csv(): 객체를 CSV 파일로 작성할 수 있다.

기본 미션

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

4. 판다스 read_csv() 함수의 매개변수 설명이 옳은 것은 무엇인가요?
(1) header 매개변수의 기본값은 1로 CSV 파일의 첫 번째 행을 열 이름으로 사용합니다.
(2) names 매개변수에 행 이름을 리스트로 지정할 수 있습니다.
(3) encoding 매개변수에 CSV 파일의 인코딩 방식을 지정할 수 있습니다.
(4) dtype 매개변수를 사용하려면 모든 열의 데이터 타입을 지정해야 합니다.

정답: (3) encoding 매개변수는 Python에서 제공하는 기본 인코딩 리스트에 나와있는 코덱값을 취한다. 디폴트는 'utf-8'. encoding_errors가 뜬다면 해당 값을 변경하도록 하자.

(1) header 매개변수는 기본적으로 정수, 정수로 구성된 리스트, 'infer' 혹은 None을 취할 수 있으며, 디폴트는 'infer'다.

이 값은 header=0으로 선언한 것과 동일한 결과를 보여주며, 파일의 첫 번째 행을 열 이름으로 사용하게 된다.

(2) name 매개변수는 데이터프레임의 열 이름을 리스트로 지정할 수 있다.

(4)dtype 매개변수는 데이터프레임의 전체 데이터셋의 데이터 타입을 지정하거나 혹은 각각의 열을 서로 다른 데이터 타입으로 지정할 수 있다.

 

참고: https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html

 

pandas.read_csv — pandas 2.1.4 documentation

Character or regex pattern to treat as the delimiter. If sep=None, the C engine cannot automatically detect the separator, but the Python parsing engine can, meaning the latter will be used and automatically detect the separator from only the first valid r

pandas.pydata.org

 

 

선택 미션

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

반응형