파이썬으로 시작하는 데이터 분석
데이터 분석이란 무엇일까요? 데이터 분석은 수집된 데이터로부터 의미있는 정보를 추출하고, 그 정보를 바탕으로 결론을 도출하거나 예측하는 과정입니다. 데이터 분석은 다양한 분야에서 활용되고 있으며, 특히 빅데이터 시대에는 데이터의 양과 복잡도가 증가함에 따라 데이터 분석의 중요성과 필요성이 더욱 커지고 있습니다. 그렇다면 데이터 분석을 위해 어떤 도구가 필요할까요? 데이터 분석을 위해서는 데이터를 수집하고 저장하고 처리하고 시각화하는 등의 작업을 할 수 있는 도구가 필요합니다. 여러 가지 도구들이 있지만, 이 글에서는 파이썬이라는 프로그래밍 언어를 사용하여 데이터 분석을 해보겠습니다. 파이썬은 왜 데이터 분석에 많이 쓰일까요? 파이썬은 다음과 같은 이유로 데이터 분석에 많이 쓰입니다 .
- 파이썬은 문법이 간단하고 직관적이어서 배우기 쉽고 읽기 쉽습니다.
- 파이썬은 다양한 운영체제와 호환되며, 다른 프로그래밍 언어나 도구와도 잘 연동됩니다.
- 파이썬은 오픈소스 커뮤니티가 활발하여, 많은 패키지와 라이브러리가 개발되고 공유되고 있습니다.
- 파이썬은 pandas, numpy, scipy, matplotlib, seaborn 등의 패키지와 라이브러리를 통해 데이터 전처리, 분석, 시각화 등의 작업을 쉽고 효율적으로 할 수 있습니다.
파이썬은 인터프리터 방식의 스크립트 언어로, 소스 코드를 한 줄씩 읽어서 실행합니다. 파이썬은 변수의 타입을 명시하지 않아도 되며, 들여쓰기를 통해 코드 블록을 구분합니다. 파이썬은 기본적으로 숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합 등의 자료형을 제공하며, 다양한 연산자와 함수를 사용할 수 있습니다. 파이썬은 조건문, 반복문, 예외처리, 함수 정의, 클래스 정의 등의 제어문을 통해 프로그램의 흐름을 제어할 수 있습니다. 파이썬은 모듈과 패키지라는 단위로 코드를 구성하고 재사용할 수 있습니다. 모듈은 파이썬 코드가 저장된 파일이며, 패키지는 여러 모듈을 묶은 폴더입니다. 파이썬은 import 문을 통해 다른 모듈이나 패키지를 불러와서 사용할 수 있습니다.
데이터 분석을 위한 파이썬 패키지
파이썬은 데이터 분석을 위한 다양한 패키지와 라이브러리를 제공합니다. 이 중에서 가장 많이 사용되는 몇 가지를 소개하겠습니다.
- pandas: 데이터 프레임이라는 테이블 형태의 자료구조를 제공하며, 데이터의 입출력, 정렬, 필터링, 그룹화, 합치기, 변형 등의 다양한 연산을 지원합니다.
- numpy: 다차원 배열과 행렬 연산을 위한 자료구조와 함수를 제공하며, 고성능의 수치 계산을 가능하게 합니다.
- scipy: 과학 계산을 위한 다양한 모듈을 제공하며, 선형대수, 최적화, 통계, 신호처리, 이미지 처리 등의 기능을 지원합니다.
- matplotlib: 2D 그래프와 차트를 그리기 위한 시각화 라이브러리로, 선 그래프, 막대 그래프, 히스토그램, 산점도 등의 다양한 형태의 그래프를 그릴 수 있습니다.
- seaborn: matplotlib을 기반으로 한 시각화 라이브러리로, 보다 고급화된 그래프와 통계적인 차트를 그릴 수 있습니다.
기상기후 데이터를 활용한 파이썬 데이터 분석 예제
파이썬으로 데이터 분석을 해보기 위해 기상기후 빅데이터 플랫폼인 날씨마루에서 제공하는 기상데이터를 활용해보겠습니다. 날씨마루는 기상청에서 운영하는 빅데이터 분석 환경으로, 다양한 기상데이터와 분석도구를 제공합니다. 날씨마루에서는 Jupyter Notebook이라는 웹 기반의 파이썬 개발 환경을 사용할 수 있습니다. Jupyter Notebook은 코드와 결과물을 하나의 문서로 작성하고 공유할 수 있는 도구입니다. Jupyter Notebook에서는 셀(cell)이라는 단위로 코드와 텍스트를 작성할 수 있으며, 셀에 있는 코드는 Shift + Enter 키를 눌러 실행할 수 있습니다.
우선 Jupyter Notebook에서 pandas와 numpy 패키지를 import 해보겠습니다. import 문은 해당 패키지나 모듈을 현재 작업 공간에 불러오는 명령어입니다. as 문은 해당 패키지나 모듈에 별칭(alias)을 붙여주는 명령어입니다. 별칭을 붙여주면 코드를 작성할 때 편리하게 사용할 수 있습니다. 아래의 코드를 셀에 입력하고 Shift + Enter 키를 눌러 실행해보세요.
import pandas as pd
import numpy as np
이제 날씨마루에서 제공하는 기상데이터를 불러와서 데이터 프레임으로 만들어보겠습니다. 날씨마루에서는 기상데이터를 CSV 파일로 다운로드 받을 수 있습니다. CSV 파일은 Comma-Separated Values의 약자로, 쉼표로 구분된 텍스트 파일입니다. pandas에서는 read_csv() 함수를 사용하여 CSV 파일을 읽고 데이터 프레임으로 변환할 수 있습니다. read_csv() 함수의 인자로는 CSV 파일의 경로와 이름을 입력합니다. 아래의 코드를 셀에 입력하고 Shift + Enter 키를 눌러 실행해보세요.
df = pd.read_csv('C:\Temp\Test.csv')
데이터 프레임이 잘 만들어졌는지 확인하기 위해 head() 함수를 사용하여 처음 5개의 행을 출력해보겠습니다. head() 함수는 데이터 프레임의 앞부분을 보여주는 함수입니다. 인자로는 출력할 행의 개수를 입력할 수 있으며, 기본값은 5입니다. 아래의 코드를 셀에 입력하고 Shift + Enter 키를 눌러 실행해보세요.
df.head()
출력 결과를 보면, 데이터 프레임은 행과 열로 구성된 테이블 형태의 자료구조임을 알 수 있습니다. 각 열은 하나의 변수를 나타내며, 각 행은 하나의 관측치를 나타냅니다. 이 데이터 프레임은 2016년부터 2018년까지 한국의 GDP와 GDP 성장률을 나타내는 데이터입니다. 열의 이름은 year, GDP rate, GDP로 되어 있으며, 각각 연도, GDP 성장률, GDP를 의미합니다.
데이터 프레임의 크기와 형태를 알기 위해 shape와 info() 함수를 사용해보겠습니다. shape는 데이터 프레임의 행과 열의 개수를 튜플 형태로 반환하는 속성입니다. info() 함수는 데이터 프레임의 각 열의 이름, 자료형, 결측치 개수, 메모리 사용량 등의 정보를 출력하는 함수입니다. 아래의 코드를 셀에 입력하고 Shift + Enter 키를 눌러 실행해보세요.
df.shape
df.info()
출력 결과를 보면, 데이터 프레임은 3개의 행과 3개의 열로 구성되어 있으며, 각 열은 정수형(int64) 또는 문자열형(object) 자료형으로 되어 있습니다. 결측치는 없으며, 메모리 사용량은 248바이트입니다.
데이터 프레임의 기초 통계량을 알기 위해 describe() 함수를 사용해보겠습니다. describe() 함수는 데이터 프레임의 각 열에 대해 기본적인 통계치를 출력하는 함수입니다. 통계치에는 개수(count), 평균(mean), 표준편차(std), 최소값(min), 사분위수(25%, 50%, 75%), 최대값(max) 등이 포함됩니다. 아래의 코드를 셀에 입력하고 Shift + Enter 키를 눌러 실행해보세요.
df.describe()
출력 결과를 보면, year와 GDP rate 열에 대한 통계치가 출력되었습니다. GDP 열은 문자열형이기 때문에 통계치가 출력되지 않았습니다. 이를 해결하기 위해 GDP 열의 자료형을 숫자형으로 변환해야 합니다. 이를 위해 replace() 함수와 astype() 함수를 사용하겠습니다. replace() 함수는 데이터 프레임의 특정 값을 다른 값으로 바꾸는 함수입니다. astype() 함수는 데이터 프레임의 자료형을 바꾸는 함수입니다. 아래의 코드를 셀에 입력하고 Shift + Enter 키를 눌러 실행해보세요.
df['GDP'] = df['GDP'].replace('M', '', regex=True).astype(float)
이제 GDP 열의 값에서 'M'이라는 문자열을 공백으로 바꾸고, 자료형을 실수형(float)으로 바꾸었습니다. 다시 describe() 함수를 사용하여 통계치를 출력해보겠습니다.
df.describe()
출력 결과를 보면, GDP 열에 대한 통계치도 출력되었습니다. 이제 데이터 프레임의 각 열에 대한 기본적인 정보를 알았으니, 데이터 분석과 시각화를 해보겠습니다.
이 글에서는 파이썬의 기본 개념과 데이터 분석을 위한 주요 패키지들을 소개하고, 기상기후 데이터를 활용한 간단한 예제를 실습해보았습니다. 파이썬은 데이터 분석에 많이 사용되는 프로그래밍 언어로, 다양한 패키지와 라이브러리를 통해 쉽고 효율적으로 데이터를 처리하고 시각화할 수 있습니다. 파이썬을 배우고 싶은 분들은 날씨마루에서 제공하는 Jupyter Notebook과 기상데이터를 활용하여 다양한 분석을 해보시기 바랍니다. 다음 글에서는 matplotlib과 seaborn 패키지를 사용하여 데이터를 시각화하는 방법에 대해 알아보겠습니다. 감사합니다.