오늘은 그동안 배운 파이썬 데이터를 가지고 그래프를 만들어보는 시간을 가져보도록 하겠습니다!
📌시각화
파이썬은 SQL과 다르게 데이터를 분석하고 바로 시각화를 해볼 수 있다는 점이 가장 큰 다른 점인데
시각화를 하는 라이브러리는 Maplotlib 과 seaborn 두가지를 가장 많이 사용한다.
우선 패키지를 불러와보자.
import seaborn as sns # seaborn 불러오기
import matplotlib.pyplot as plt # matplotlib 불러오기
📌seaborn 패키지
- 그래프를 만들 때 자주 사용 되는 패키지로 코드가 쉽고 간결함
📍scatter plot (산점도)
데이터를 x축과 y축에 점으로 표현한 그래프
- 주로 나이와 소득처럼 연속값(숫자)으로 된 두 변수의 관계를 표현할 때 사용
* 축 제한 가능
** hue 로 종류별 색 다르게 지정 가능
# x축은 displ, y축은 hwy를 나타내는 산점도 만들기
sns.scatterplot(data = mpg, x = 'displ',y='hwy') # 어떤 데이터프레임인지 지정 필수
# x축 범위 3~6 으로 제한 & y축 범위 10~ 30 으로 제한 => 축 범 위를 설정 할 수 있음
sns.scatterplot(data = mpg, x = 'displ',y='hwy').set(xlim = [3, 6],ylim=[10,30])
✔️그래프 설정을 바꿔서 활용 할 수도 있다.
* font.family 는 맥 사용자는 맑은고딕이 없기 때문에 applegothic 이라고 해주면 된다.
📍bar plot( 막대 그래프)
데이터의 크기를 막대의 길이로 표현한 그래프로 성별,소득 차이처럼 집단 간 차이를 표현할 때 사용(문자열)
요약표 활용
막대 그래프는 평균표를 만든 다음에 그래프를 만든다.
# 평균표 만들기
df_mpg = mpg.groupby('drv',as_index=False).agg(mean_hwy = ('hwy','mean'))
df_mpg
# 크기순으로 정렬하려면 먼저 정렬한후 막대 그래프를 그려야 한다.
df_mpg = df_mpg.sort_values('mean_hwy',ascending=False)
sns.barplot(data = df_mpg, x='drv',y='mean_hwy')
📍countplot(빈도 막대 그래프)
빈도 막대 그래프로 값의 빈도(개수)를 막대 길이로 표현한 그래프이다.
여러 집단의 빈도를 비교할 때 사용된다.
# 빈도표로 만들기
df_mpg = mpg.groupby('drv',as_index=False).agg(n = ('drv','count'))
df_mpg
#막대 그래프 만들기
sns.barplot(data=df_mpg,x='drv',y='n')
# 집단별 빈도표는 sns.countplot 으로 바로 막대 그래프 작성이 가능하다!
sns.countplot(data=mpg, x='drv')
# 정렬이 필요하다면 order=['4','f','r'] 순으로 써주면 그 순서대로 됨.
#drv 빈도 높은 순으로 막대 정렬
sns.countplot(data=mpg, x='drv',order = mpg['drv'].value_counts().index)
📍line plot (선 그래프)
시간에 따라 달라지는 데이터를 표현할 때 사용 ex) 환율,주가지수 등 경제지표가 시간에 따라 변하는 양상
- 시계열 데이터(time series data): 일별 환율처럼, 일정 시간 간격을 두고 나열된 데이터
- 시계열 그래프 (time series chart) : 시계열 데이터를 선으로 표현한 그래프
✔️데이터를 불러오기 (시게열 데이터는 economic data를 사용합니다)
# 날짜 시간 타입 변수 만들기
economics['date2'] = pd.to_datetime(economics['date'])
#변수 타입 확인
economics.info()
✔️데이터를 만들었으니 확인해보자.
✔️연.월.일을 추출해서
✔️연도 변수에 추가한 다음 그래프를 그려보자.
✔️신뢰구간 까지 제거하면 끝이다!
📍box plot(상자 그림 )
데이터의 분포 또는 퍼져 있는 형태를 직사각형 상자 모양으로 표현한 그래프이다.
데이터가 어떻게 분포ㄷ하고 있는지 알 수 있고,평균값만 볼 때보다 데이터의 특징을 더 자세히 이해할 수 있다.
이렇게 나온다. 상세 내용은 어제 IQR 과 동일한 내용이다.
여기까지 파이썬 기초에 대해서 마쳤다!
진짜 짧은 시간동안 빡세게 파이썬의 기본기를 다시 배웠는데 사실 너무 많은 내용이기도 했지만
복습도 많이하고 실습도 많이했었으니 이제는 조금 이해가 되는 부분도 많다.
다만 아직 agg() 를 쓰는 부분과 원하는 데이터를 한번에 뽑기는 어렵지만
영타 연습을 많이 해야겠다고 생각했다..
(끄적).....
'성동 1기_ 모빌리티 전Z전능 DA' 카테고리의 다른 글
디자인 스프린트2 DAY1 (0) | 2023.12.13 |
---|---|
태블로 강의 - 데이터 시각화와 시각적 분석 방법 (1) | 2023.12.11 |
Python 기초 (6)- 결측치 처리,이상치처리,기준값 찾기, dropna, isna,IQR (0) | 2023.11.30 |
Python 기초 (3) - 함수, 데이터프레임,어트리뷰트, 매서드, 데이터 분석 기초 (0) | 2023.11.29 |
SQL 팀 프로젝트(3) - EDA 분석, 가설 세우기, 가설 검증 (2) | 2023.11.28 |