시작하기 앞서 이 포스팅은 데이터 분석에 있어서 가장 기초적인 공부를 다시 복습을 하는 차원에서 작성됨을 알립니다.
import numpy as np import pandas as pd import seaborn as snsimport matplot.pyplot as plt
pandas와 seaborn은 데이터를 시각화하는데 중요하기 때문에 꼭 분석하기전에 불러오고, numpy는 숫자가 들어가는 데이터에 분석하기에 필수적인 라이브러리이다.
(저장된 data.csv파일을 불러오는 코드)
df = sns.read_csv("./file_name/data.csv") display(df)
seaborn의 라이브러리에서 read_csv("파일위치/파일") 형식으로 csv를 불러올수있다.
diplay 메소드로 불러온 데이터파일을 출력을 할수 있게 도와줄수있다.
print 메소드는 문자열로 출력이 되기 떄문에 데이터를 출력할 떄는 display를 이용한다.
pandas의 crosstab의 이용하여 종속변수와 독립변수 이용.
(이때 변수는 only 2개이다.)# 1. 종속변수 - 독립변수 각각 1개 데이터분석 ct = pd.crosstab(df["종속"], df["독립"]) # 종속변수와 독립변수로 이뤄진 crosstab을 ct라는 객체에 저장. sns.heatmap(data = ct, cmap = sns.palettes.light_palettes("gray", as_cmap = True), annot = True, fmt = "d")
# 2. 종속변수 - 독립변수 종속변수1개 , 독립변수 여러개 관련해서 데이터 분석. (for문 이용) df.columns() for c_names in df[1:]: ct = pd.crosstab(df["종속"], df[c_names]) sns.heatmap(data=ct, cmap= sns.palettes.light_palettes("gray", as_cmap = True), annot = True, fmt ="d")
인덱싱이란?
dataframe_name[ start : stop : step] 으로 이뤄져 있다.
위의 코드처럼 여러개의 독립변수와 하나의 종속변수가 있을 경우 쓰일 수 있다 보통 배열의 첫번째 값은 0번 부터 시작해서 n-1값의 순서를 배정받게 된다. 또한 아무런 값을 설정하지 않았을때는 stop 일땐 마지막까지 나타내고 , start에 값을 지정하지 않았을때는 0번째부터 돌아간다. 기본 step은 1로 설정되어져있다.
(위의 방법으로 각각의 Target(종속변수)에 대해 feature(독립변수)와의 관계를 데이터 시각화를 시켜 알아보자)
우리가 사용할 파일은 식용버섯_독버섯.csv 이다.
import numpy as np import pandas as pd import seaborn as sns import matplot.pyplot as plt #분석할 csv파일 읽어오기 df = sns.read_csv("./data/식용버섯_독버섯.csv/") #for 문을 통해서 2번째 ~ 마지막까지 차례대로 아래 코드 실행. for c_names in df[1:]: crosstab을 생성. crosstable 생성. (2개의 변수끼리 비교가 가능해서 하나는 종속 다른하나는 독립변수) ct = pd.crosstab(df["target"],df[c_names]) # heatmap을 통해서 표를 생성하기 as_cmap = True는 색 연속, annot = True는 표의 빈도수를 나타냄. fmt = 'd'는 빈도수를 정수형으로 나타내주기. sns.heatmap(data = ct, cmap = sns.palettes.light_palettes("gray", as_cmap=True), annot = True, fmt = "d",vmin = 0) # 표를 개별로 출력하기. plt.show()
여기까지가 내가 한 데이터 분석에 필요한 시각화이다.
모든 컬럼 즉 변수들의 종류를 알아보기위한 코드를 적어보자.
df.columns() #df객체안의 컬럼들을 모두 나타내준다.
이렇게 많은 독립변수들이 존재하기 때문에 유의미한 데이터들만 다루겠다.