본문 바로가기
공부/혼공 데이터 분석

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

by today14 2024. 1. 5.

chapter 1. 데이터 분석을 시작하며

 
 

코랩에서 데이터 확인하기

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

데이터 다운로드하기

1. gdown 패키지 이용(구글드라이브->코랩)

 
2. 내 컴퓨터 파일에서 업로드
 
코랩의 파일 창에서 CSV 파일을 드래그하여 파일 창 안에 놓는다.
 
 

파이썬으로 CSV파일 출력하기

- with문으로 파일을 열고, open()함수로 파일을 읽고, readline()메서드로 한 줄씩 읽는다.

-> 파이썬의 open() 함수는 기본적으로 텍스트 파일이 UTF-8 형식으로 저장되어 있다고 가정한다. 다만 한글 텍스트는 여전히 완성형 인코딩인 EUC-KR을 사용하는 일이 많기 때문에 발생한 오류이다.
 
 
 

파일 인코딩 형식 확인하기

- chardet 패키지의 chardet.detect() 함수를 사용

-> EUC-KR 형태인 것이 확인됨
 
 
 

인코딩 형식 지정하기

- open() 함수로 파일을 읽을 때 encoding 매개변수로 인코딩 형식을 지정해주면 됨

 
 

데이터 프레임 다루기

- 판다스: CSV 파일을 읽어 데이터프레임이라는 표 형식 데이터로 저장함
   - 배열: 프로그래밍 언어에서 배열은 같은 종류의 데이터가 순서대로 나열된 데이터 구조를 말함, 나열된 축이 하나인 경우 1차원 배열, 축이 2개인 경우 2차원 배열이라고 함
- 판다스 시리즈: 1차원 배열과 비슷, 시리즈에 담긴 데이터는 모두 동일한 종류여야함 (ex.모두 정수 or 모두 문자열)
- 판다스 데이터 프레임: 데이터를 가로 세로로 나열한 2차원 배열과 비슷, 데이터 프레임은 열마다 다른 데이터 타입을 사용할 수 있음, 단, 같은 열에 있는 데이터는 모두 같은 종류여야 함
   -> 데이터 프레임의 한 열을 따로 선택하면 시리즈 객체
 
 

CSV 파일을 데이터프레임으로 읽기

- read_csv() 함수를 사용
- 위의 함수를 호출하려면 판다스를 임포트해야 함

 
-> 판다스는 CSV 파일을 읽을 때 '도서명'과 '대출건수' 같은 열에 어떤 종류의 데이터가 저장되어 있는지 자동으로 파악한다. 이때 메모리를 효율적으로 사용하기 위해 CSV 파일을 조금씩 나누어 읽는다. 이때 파악한 데이터 타입이 달라지면 경고가 발생한다. 이 파일에서는 5,6,9 열 때문에 오류가 발생했다.

해결방법은 low_memory 매개변수를 False로 지정하여 파일을 나누어 읽지 않고 한 번에 읽는 것이다. (다른 방법으로는 dtype 매개변수로 데이터 타입을 저장하는 방법이 있다)

 
 
- head() 메서드를 사용하면 데이터 프레이의 처음 다섯 개 행을 확인할 수 있음

 
- 첫번째 열: 데이터 프레임의 인덱스
- CSV 파일의 첫 행이 열 이름이 아니라면 read_csv() 함수를 호출할 때 header 매개변수를 None으로 지정해서 데이터 첫 행에 열 이름이 없다는 것을 알리고, names 매개변수에 열 이름 리스트를 따로 전달해줌
 

데이터프레임을 CSV 파일로 저장하기

- to_csv() 메서드 사용

 
- CSV 파일에 인덱스가 이미 있다는 것을 알려주려면 index_col 매개변수를 사용


<혼공 학습 기본미션>