관리 메뉴

애독자's 공부방

[혼공분석] 1주차 _ 혼자 공부하는 데이터 분석 with 파이썬 본문

데이터분석/혼공학습단 13기

[혼공분석] 1주차 _ 혼자 공부하는 데이터 분석 with 파이썬

애독자 2025. 1. 8. 00:30
728x90

혼공단 - 혼공분석, 혼자 공부하는 데이터 분석 with 파이썬

 

 

■ 시작에 앞서..

지난 12기를 마치고 13기에 혼공분석으로 돌아오겠다고 다짐했었는데, 약속을 지킬 수 있게 되었습니다.

2024.08.15 - [Java/혼공학습단 12기] - 혼공학습단 12기 활동 회고 : 꾸준히 혼공자

 

 

■ 공부한 내용

# 진도 기본 숙제(필수) 추가 숙제(선택)
1주차
(1/6 ~ 1/12)
Chapter 01 p. 81의 확인 문제 4번 풀고 인증하기 p. 71 ~ 73 남산 도서관 데이터를 코랩에서 데이터프레임으로 출력하고 화면 캡처하기

 

 

 

□ Chapter 01 | 데이터 분석을 시작하며
▷ 01-1 | 데이터 분석이란
1. 데이터 분석과 데이터 과학을 비교
 1) 데이터 분석: 유용한 정보를 발굴하고 결론적인 내용을 알리며 의사결정을 지원하는 것을 목표로 데이터를 정리, 변환, 모델링하는 과정
  - https://ko.wikipedia.org/wiki/데이터_분석

   . 넓은 의미: 데이터 수집, 데이터 처리, 데이터 정제, 모델링

   . 좁은 의미: 기술통계(descriptive statiistics), 탐색적 데이터 분석(EDA: exploratory data analysis), 가설검정(hypothesis testing) ←  통계학 관점에서의 데이터 분석

 2) 데이터 과학(사이언스): 데이터 마이닝(Data Mining)과 유사하게 정형, 비정형 형태를 포함한 다양한 데이터로부터 지식과 인사이트를 추출하는 과정에서 과학적 방법론, 프로세스, 알고리즘, 시스템을 동원하는 융합 분야
  - https://ko.wikipedia.org/wiki/데이터_사이언스   
 3) 차이점: 두 분야가 만들어 내는 '결과물'
  - 데이터 분석: 올바른 의사 결정을 돕기 위한 통찰(insight)을 제공하는데 초점
  - 데이터 과학: 한 걸음 더 나아가 문제 해결을 위한 최선의 설루션(solution)을 만드는데 초점

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

 

2. 파이썬 필수 패키지

이름 내용
넘파이 (Numpy) 과학 계산과 배열에 필요한 수학 패키지
판다스 (pandas) 숫자와 문자를 섞어 표처럼 사용할 수 있는 데이터프레임을 제공
맷플롯립 (matplotlib) 동적, 정적 그래프를 만들 수 있는 시각화 패키지
사이파이 (SciPy) 수학과 과학 계산 전문 패키지로 미적분, 선형대수 등을 포함
사이킷런 (scikit-learn) 파이썬에서 사용할 수 있는 대표적인 머신러닝 패키지

 

3. 데이터 마이닝과 머신러닝

 1) 데이터 마이닝: 데이터에서 패턴 혹은 지식을 추출하는 작업

 2) 머신러닝: 데이터에서 자동으로 규칙을 학습하여 문제를 해결하는 소프트웨어를 만드는 기술

 

 

▷ 01-2 | 구글 코랩과 주피터 노트북

 - 핵심 포인트 요약

  . 코랩: 구글 계정을 가지고 있다면 누구나 사용할 수 있는 웹 브라우저 기반의 파이썬 코드 실행 환경

  . 노트북: 코랩의 프로그램 작성파일로, 일반 프로그램 파일과 달리 대화식으로 프로그램을 만들 수 있어 데이터 분석이나 교육에 매우 적합

특징 구글 코랩 주피터 노트북
설치 클라우드 기반이므로 설치 불필요 내 컴퓨터에 설치
실행환경 인터넷이 연결된 웹 브라우저 오프라인 상태의 웹 브라우저
파일저장 구글 드라이브에 자동 저장 내 컴퓨터 하드 디스크에 저장
패키지 사전 설치되어 제공 패키지 관리자로 직접 설치

 

  . 구글 드라이브: 구글이 제공하는 클라우드 파일 저장 서비스로, 코랩에서 만든 노트북을 'Colab Notebooks' 폴더에 저장할 수 있고 필요할 때 다시 코랩에서 열기 가능

  . 깃허브: 분산 버전 관리 툴인 깃의 저장소를 호스팅하는 웹 서비스로, 코드 수정 이력을 버전별로 관리할 수 있고 여러 사람이 공동으로 작업하기 편리한 환경을 제공

  . 마크다운: HTML과 같이 일반 텍스트로 서식있는 문서를 작성하는 데 사용

 

 

▷ 01-3 | 이 도서가 얼마나 인기가 좋을까요?

 1. 핵심 포인트 요약

  - 공개 데이터 세트: 기업이나 정부 등이 무료로 공개하는 데이터 세트로, 누구나 저작권에 상관없이 다운로드하여 데이터 분석이나 제품 개발에 활용 가능

구분 이름 URL
국내 사이트 공공데이터포털 https://www.data.go.kr
  통합 데이터 지도 https://www.bigdata-map.kr
  AI 허브 https://aihub.or.kr
  국가통계포털 https://kosis.kr
해외 사이트 구글 데이터 세트 검색 https://datasetsearch.research.google.com
  캐글 데이터 세트 https://www.kaggle.com/datasets
  위키피디아 머신러닝 데이터 세트 https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research
  아마존 웹서비스 오픈 데이터 https://registry.opendata.aws
  UCI 머신러닝 데이터 저장소 https://archive.ics.uci.edu/
온라인 포럼 데이터 분석 커뮤니티 https://www.facebook.com/groups/datacommunity
  캐글 코리아 https://www.facebook.com/groups/KaggleKoreaOpenGroup
  텐서플로 코리아 https://www.facebook.com/groups/TensorFlowKR
  파이토치 코리아 https://www.facebook.com/groups/PyTorchKR
  사이킷런 코리아 https://www.facebook.com/groups/ScikitLearnKR

  - CSV파일: 콤마(,)로 구분된 텍스트 파일로, 한 줄이 하나의 레코드이며, 레코드는 콤바로 구분된 여러 필드 혹은 열로 구성 → 데이터가 엑셀처럼 표 형태를 가져야 하기 때문에 레코드에 있는 필드 개수는 모두 동일하게 구성

  - 판다스: 표 형식 데이터를 위한 편리한 도구를 다양하게 제공하는 강력한 데이터 분석 패키지

  - 데이터프레임: 판다스의 핵심 데이터 구조로 행과 열로 구성되며, CSV 파일이나 엑셀 파일로부터 데이터프레임을 생성

  - 시리즈: 1차원 배열과 흡사한 판다스의 객체로, 한 종류의 데이터만 포함 가능

 

 2. 책에 나온 함수와 메서드

함수/메서드 기능 사용
pandas.read_csv() CSV 파일을 읽어 데이터 프레임으로 반환 pandas.read_csv(filepath_or_buffer, header, names, index_col, encoding, low_memory, dtype)
  매개변수 설명
  filepath_or_buffer
header



names



index_col


encoding


low_memory


dtype

. CSV 파일 이름을 지정
. 첫 번째 행을 열 이름으로 사용하거나, 열 이름으로 사용할 행 번호를 지정 (기본값: infer는 첫 번째 행을 열 이름으로 사용 / None으로 지정하면 0부터 시작하는 숫자를 열 이름으로 사용)
. 열 이름을 문자열 리스트로 전달하면 header 매개변수를 무시하고 names 값으로 열 이름을 사용 (중복된 열 이름 지정 불가)
. 행 인덱스로 사용할 열 번호를 지정 (기본값: None은 정수로 된 행 인덱스를 새로 생성)
. 읽을 파일의 인코딩 방식을 지정 (기본값: None은 대부분의 시스템에서 UTF-8 사용)
. False로 지정하면 파일을 나누어 읽지 않고 한 번에 읽음 (이 경우 열의 데이터 타입을 감지하는데 오류 미발생)
. 열 이름과 데이터 타입 쌍으로 구성된 딕셔너리로 원하는 열마다 데이터 타입 지정 가능
DataFrame.head() 데이터프레임에서 처음 다섯 개의 행을 반환 DataFrame.head(n)
  n . 추출하고 싶은 행 개수를 지정
DataFrame.to_csv() 데이터프레임을 CSV 파일로 저장 DataFrame.to_csv(path_or_buf, index, encoding)
  path_or_buf
index
encoding

. CSV 파일 이름을 지정
. 행 번호를 저장할지 지정
. 읽을 파일의 인코딩 방식을 지정 (기본값: None으로 UTF-8을 사용)

 

 

 

■ 기본 숙제

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

  - 정답: ③

   . header 매개변수의 기본값은 infer, names 매개변수는 열 이름, dtype 매개변수는 원하는 열마다 데이터 타입 지정 가능

    ※ 위 정리한 부분 외 공식 사이트 내용: https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html

 

 

 

■ 추가 숙제(선택)

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

 

 

728x90