라이브러리를 활용하여 데이터 정리하기

2021. 6. 29. 17:45주피터 노트북

데이터를 활용하려면, 데이터들이 필요한데 사용하기에 좋을 사이트 3가지를 먼저 소개하려고 한다.

 

1. https://www.kaggle.com/ --> 해외 사이트로 자료들이 많으나 조금 어려울 수 있다.

2. https://archive.ics.uci.edu/ml/index.php --> 해외 사이트이며, 자료들이 kaggle에 비해 직관적이나 자료 종류가 kaggle보다 적다.

3. https://www.data.go.kr/ --> 한국 사이트로 한국에서 관리하는 공공 데이터들이 존재한다.

 

데이터 활용

pandas 라이브러리를 활용하려면 .read_csv함수를 활용해야 한다. 이때 csv는 확장자 명으로, 데이터를 저장할 때 확장자를 csv로 하는 게 널리 쓰이는 방식이다.

 

데이터를 활용하는 순서는 다음과 같다.

1. 라이브러리 불러오기(여기서는 pandas를 사용하였다)

import pandas as pd

2. 변수 선언하기 

df = pd.read_csv('~Desktop/germancredit.csv')
#이때, read_csv()의 속에는 파일의 경로가 지정되어 있다. os별로 경로가 다르니 주의하자.

3.  데이터 부르기

변수를 활용하여 데이터를 불렀다.

4. 다양한 방식으로 데이터 정리하기.

 

데이터를 정리하기

데이터를 정리하는 방식에는 여러가지가 있는데, 순차적으로 보자.

 

1. 데이터 수를 보기 .info() 함수 활용하기(각 변수의 이름, 결측치, 형식 등을 파악할 수 있다.)

 

각 변수의 수와 형식을 표현하고 있다

2. 데이터 표현하기 .describe() 함수를 활용하여 각 변수별 평균, 최대, 최솟값, 표준편차, 분산 등을 알 수 있다.

.describe()함수를 사용하여 데이터를 정리하였다.

3. 내장함수를 활용하여 각각의 변수의 평균, 최대 최소 등을 표현하기

  • 평균. mean() 함수의 활용

CHK_ACCT라는 변수의 평균을 구한것이다.

  • 표준편차. std() 함수

CHK_ACCT라는 변수의 표준편차을 구한것이다.

  • 최솟값. min() 함수

CHK_ACCT라는 변수의 최솟값을 구한것이다.

  • 최댓값. max() 함수

CHK_ACCT라는 변수의 최댓값을 구한것이다.

  • 분산. var() 함수

CHK_ACCT라는 변수의 최솟값을 구한것이다.

4. 결측 값 찾기

주피터 노트북에서 결측 값은 true로 표현이 된다.

결측 값을 찾는 방식은 2가지가 있다. 먼저 표에서 결측값을 보는 방식을 살펴보자, 이때 사용하는 함수는. isnull()이다.

df.isnull()
#라이브러리 선언을 df로 하였다.

표에서 결측값을 표현한다.

이렇게 하나하나 표현을 하면 데이터 수가 많을수록 결측값을 찾기가 힘들다. 그래서 흔히 사용하는 방식은 sum함수를 활용하는 것이다.

df.isnull().sum()

이를 활용하면 다음과 같이 표현이 된다.

표에 결측값이 정리되어있다.

위와 같이 표현을 하면 어느 변수에서 결측값이 발생하는지 더 직관적으로 알 수 있다.

 

5. 시각화

주피터 노트북에서 사용 가능한 시각화 방식은 박스 플롯, 히스토그램, 추세선이 있다.

Boxplot

먼저 박스 플롯을 살펴보자, 이를 활용하려면, 라이브러리를 선언을 해주어야한다. 이때 사용하는 라이브러리는 matplotlib.pylab이다.

import matplotlib.pylab as plt
#위의 라이브러리를 plt로 정의한다.

이를 활용하여 코드를 짜면 다음과 같다.

plt.boxplot(df['DURATION'])
#DURATION의 boxplot을 표현한다.

라이브러리를 활용하여 boxplot을 표현하는 코드는 위와 같다.

이때, "을 사용하거나 '을 사용하여도 상관이 없다. 

코드를 실행하면 아래와 같은 화면이 발생하는 데, 40보다 위의 점들은 outlier, 이상치이다.

 

변수 DURATION의 botplot이다.

Histogram

히스토그램 역시 matplotlib.pylab을 활용해야 한다. 위에서 정의 한 것 처럼 정의한 후 히스토그렘을 출력하는 코드는 아래와 같다.

import matplotlib.pylab as plt #라이브러리를 plt로 저장한다.
plt.hist(df['DURATION']) #DURATION의 히스토그램을 출력한다.

이를 활용하여 출력하면 다음과 같다.

DURATION의 히스토그렘

여기서 히스토그램의 축, 색, 모양을 조절 할 수 있다.

이것과 관련한 자료는 아래의 링크를 참조하자.

https://wikidocs.net/92112

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

https://matplotlib.org/stable/tutorials/introductory/pyplot.html

 

Pyplot tutorial — Matplotlib 3.4.2 documentation

text can be used to add text in an arbitrary location, and xlabel, ylabel and title are used to add text in the indicated locations (see Text in Matplotlib Plots for a more detailed example) All of the text functions return a matplotlib.text.Text instance.

matplotlib.org

추세선 그리기

추세선 역시 위에서 사용하였던 matplotlib.pylab을 사용한다.

import matplotlib.pylab as plt #라이브러리 선언
plt.plot(df_ver2['BAEMIN'],label = "BAEMIN") #BAEMIN의 데이터를 불러오고, BAEMIN이라는 이름으로 표현한다. 
plt.plot(df_ver2['YOGIYO'],label = "YOGIYO") #YOGIYO의 데이터 불러오고 레이블하기
plt.plot(df_ver2['BAEDALTONG'],label = "BAEDALTONG") #BAEDALTONG의 데이터 불러오고 레이블하기
plt.legend() #추세선 그리는 코드
plt.show() #추세선 보이기

이때 하나가 아닌 여러개를 동시에 활용하여 추세선을 그릴 수 있다. 이를 활용한것이 아래의 추세선이다.

추세선

추세선 역시 색, 축을 변경하는 것이 가능하다. 이는 위의 히스토그램의 레이아웃을 변경하는 방식과 동일하다. 아래의 링크를 확인하자.

https://wikidocs.net/92085

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

https://codetorial.net/matplotlib/set_color.html

 

Matplotlib 색상 지정하기 - Codetorial

matplotlib.pyplot 모듈의 plot() 함수를 사용해서 그래프를 나타낼 때, 색상을 지정하는 다양한 방법에 대해 소개합니다. Keyword: plt.plot(), 포맷 문자열, 그래프 색상, color, Hex code, Matplotlib 색상

codetorial.net

 

'주피터 노트북' 카테고리의 다른 글

주피터 노트북 라이브러리(기본)  (0) 2021.06.29