본문 바로가기
IT 자격증/AICE Associate

AICE Associate - 데이터 시각화

by ootd_info 2024. 6. 19.
반응형

라이브러리

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
plt.rc('font', family ='NanumGothicCoding')

 

 

seaborn 활용해서 그리기

import seaborn as sb

#카운트플롯
sb.countplot(data=df, x='컬럼명') 

#조인트플롯
sb.jointplot(data=df, x=’컬럼1’, y=’컬럼2’)

#바플롯
sb.barplot(data=df, x='칼럼1', y='칼럼2')

#히스토그램
sb.histplot(data=df, x='칼럼1')
sb.histplot(data=df, x='칼럼1', hue='칼럼2')

#히스토그램을 곡선으로 그리기
sb.kdeplot(data=df, x='칼럼1', hue='칼럼2')

#히트맵, annot은 값표기
sb.heatmap(df[['칼럼1','칼럼2','칼럼3']].corr(), annot=True)

#박스플롯
sb.boxplot(data=df, x='칼럼1', y='칼럼2')

 

 

 

차트그리기

# label_y 컬럼에 대한 Bar 차트 확인
df['label_y'].value_counts().plot(kind='bar')

# matplotlib 활용해서 total 컬럼의 히스토그램 그리기
plt.subplot(131)
df['total'].plot(kind='hist') # 방법1

plt.subplot(133)
plt.hist(df['total']) # 방법2
plt.show()

 

 

 

 

 

시각화를 위한 변수의 그룹화

#days_left별 평균 데이터 만들기 – 수치형 데이터인 경우
days_left = df.groupby(‘days_left’).mean()

#departure_time별 빈도수 데이터 만들기 – 범주형 데이터인 경우
Departure_time = df[‘dfparture_time’].value_counts()

 

선그래프(line plot)

 

#시각화 라이브러리 불러오기
import matplotlib.pyplot as plt

#시각화 영역(figure) 지정
plt.figure()
 
#day_left의 price데이터로 선 그래프 그리기
plt.plot(days_left[‘price’])
 
#X축 이름 지정하기
plt.xlabel(“Days_left”)

#Y축 이름 지정하기
Plt.ylabel(“Price”)
 
#시각화 표시하기
plt.show()

 

막대그래프(bar plot)

#시각화 라이브러리 불러오기
Import matplotlib.pyplot as plt
 
#airline별 평균 데이터 만들기
airline = df.groupby([‘airline’]).mean()

#인덱스를 리스트로 만들기
label = airline.index
 
#시각화 영역(figure) 지정
plt.figure()

#인덱스를 X, 평균가격을 Y로 하는 막대그래프 그리기
plt.bar(label,airline[‘price’])

#X축 이름 지정하기
plt.xlabel(“Airline”)

#Y축 이름 지정하기
Plt.ylabel(“Price”)

#시각화 표시하기
plt.show()

 

파이그래프(pie plot)

#시각화 라이브러리 불러오기
import matplotlib.pyplot as plt

# departure_time 별 빈도수 데이터 만들기
departure_time = df[‘dfparture_time’].value_counts()
 
#시각화 영역(figure) 지정
plt.figure(figsize=(10,6))

# departure_time 빈도표 데이터로 파이 그래프 그리기
#pie에 labels를 지정해주지 않으면 아무런 정보가 없는 그래프가 나옴
plt.pie(departure_time, labels=departure_time.index, autopct =’%.1f%%’)

#시각화 표시하기
plt.show()

 

히스토그램

#시각화 영역(figure) 지정
plt.figure() 

#duration을 10개 구간으로 나눠서 히스토그램 그리기
plt.hist(df[‘duration’], bins =10)
 

#duration을 20개 구간으로 나눠서 히스토그램 그리기
plt.hist(df[‘duration’], bins =20)

plt.xlabel(“Duration”)
plt.ylabel(“Flights”)

 
#동시에 2개의 그래프를 하나의 시각화 영역에 그려서 범례 지정하기
plt.legend((“Bin10”,”Bin20”))
plt.show()

 

상자 그래프(box plot)

plt.figure()

#Price 칼럼에 대한 상자그래프 그리기
plt.boxplot(list(df[‘price’]))
plt.ylabel(“price”)
plt.show()

 
#출발시간별 가격 분포그리기
#departure_time별로 price에 대한 상자 그래프 그리기
df.boxplot(by=”departure_time”,column=”price”,figsize=(10,8))

 

산점도(scatter plot)

plt.figure(figsize = (16,8))


#price와 duration의 산점도 그리기
plt.scatter(y=df[“price”], x=df[“duration”])
plt.xlabel(“Duration”)
plt.ylabel(“Price”)

plt.show()

 

히트맵

#numpy 불러오기
import numpy as np
 
#상관계수 데이터 만들기
heat = df_eco.corr() 

#상관계수로 heatmap그리기
plt.pcolor(heat)

#X축 항목 정보표기
plt.xticks(np.arange(0.5, len(heat.columns), 1), heat.columns) 

#Y축 항목 정보 표기하기
plt.yticks(np.arange(0.5, len(heat.index), 1), heat.index)

 #히트맵 확인을 위한 컬러바 표기하기
plt.colorbar()
plt.show()

 

 

728x90

댓글