1. [선 그래프 실습 문제] 국가별 경제 성장

 

실습 설명

한국(Korea_Rep), 미국(United_States), 영국(United_Kingdom), 독일(Germany), 중국(China), 일본(Japan)의 GDP 그래프를 그려 보세요.

%matplotlib inline
import pandas as pd

df = pd.read_csv('data/gdp.csv', index_col=0)

df.plot(y=['Korea_Rep', 'United_States','United_Kingdom','Germany','China','Japan'])

 

 


2. [막대 그래프 실습 문제] 실리콘 밸리에는 누가 일할까?1

실습 설명

실리콘 밸리에서 일하는 사람들의 정보가 있습니다.

직업, 종류, 인종, 성별 등이 포함되어 있는데요.

실리콘 밸리에서 일하는 남자 관리자(Managers)에 대한 인종 분포를 막대그래프로 다음과 같이 그려보세요.

 

 

%matplotlib inline
import pandas as pd

df = pd.read_csv('data/silicon_valley_summary.csv')
df

데이터 프레임을 출력해보면  인종(race_ethnicity)에 인덱스에 All이 포함되어 있다.

인종에 대한 그래프를 그려야 하므로 All을 제외 시켜야한다.

 

 

우리가 출력해야 하는 내용

1. 성별(gender) : 남자 (Male)

2. 직업(job_category) : 관리자 (Managers) 

3. 인종(race_ethnicity) : 모든 인종

gender = df['gender'] == 'Male'
job_category = df['job_category'] == 'Managers'
race_ethnicity = df['race_ethnicity'] != 'All'
df[gender & race_ethnicity & job_category]

조건에 맞는 df 출력

 

막대그래프 생성

df[gender & race_ethnicity & job_category].plot(kind='bar', x='race_ethnicity', y='count')

 


3. [파이 그래프 실습 문제] 실리콘 밸리에는 누가 일할까?2 

실습 설명

이번에는 어도비 (Adobe)의 직원 분포를 한번 살펴봅시다.

어도비 전체 직원들의 직군 분포를 파이 그래프로 그려보세요.

(인원이 0인 직군은 그래프에 표시되지 않아야 합니다.)

 

%matplotlib inline
import pandas as pd

df = pd.read_csv('data/silicon_valley_details.csv')
df

 

우리가 출력해야 하는 내용

1. 회사(company) : Adove

2. 인종(race) : Overall_totals

3. 인원(count)이 0인 직군 제외 : count가 0이면 제외

 

그리고 job_category에 있는 직군이 아닌 Totals와 job_category도 제외시켜준다.

boolean_adobe = df['company'] == 'Adobe'
boolean_all_races = df['race'] == 'Overall_totals'
boolean_count = df['count'] != 0
boolean_job_category = (df['job_category'] != 'Totals') & (df['job_category'] != 'Previous_totals')

 

조건에 맞게 df를 생성

df_adobe = df[boolean_adobe & boolean_all_races & boolean_count & boolean_job_category]
df_adobe

 

 

파이그래프 생성

df_adobe.plot(kind='pie', y='count')

 

파이그래프는 인덱스를 기준으로 범례를 생성한다.

따라서 우리가 원하는 직군들의 분포를 범례로 지정하려면

job_category가 인덱스로 바뀌어야한다.

set_index : 열을 인덱스로 지정

df_adobe.set_index('job_category', inplace=True)
df_adobe

job_category를 인덱스로 지정

 

df_adobe.plot(kind='pie', y= 'count')

 


4. [히스토그램 실습 문제] 스타벅스 음료의 칼로리는?1

실습 설명

스타벅스 음료의 칼로리 및 영양소 정보가 있습니다.

스타벅스 음료의 칼로리 분포는 어떻게 되는지, 히스토그램을 그려서 확인해 봅시다.

원하는 결과가 나오도록 df.plot() 메소드의 괄호를 채워 보세요!

칼로리의 구간은 총 20개로 나누어 주세요.

 

%matplotlib inline
import pandas as pd

df = pd.read_csv('data/starbucks_drinks.csv')

df.plot()

 

df.plot(kind = 'hist', y='Calories', bins = 20)

 

 


5. [박스플롯 실습 문제] 스타벅스 음료의 칼로리는?2

실습 설명

이번엔 스타벅스 음료의 칼로리를 박스 플롯으로 그려봅시다.

 

%matplotlib inline
import pandas as pd

df = pd.read_csv('data/starbucks_drinks.csv')

df.plot(kind='box',y='Calories')

 

박스수염 바깥으로 칼로리 500이 넘는 이상점이 하나 보입니다.

카페음료와 칼로리를 칼로리가 높은 순으로 출력해보겠습니다.

df.loc[:,['Beverage','Beverage_prep','Calories']].sort_values(by='Calories', ascending=False)

 

화이트초콜릿 모카가 510칼로리 음료였습니다.

 

'데이터 분석 > Data_visualization' 카테고리의 다른 글

데이터 시각화방법  (0) 2024.06.03
1. 시각화와 그래프  (0) 2024.06.03
시간 시각화 막대그래프, 누적막대그래프, 점/선그래프
분포 시각화 히스토그램, 파이차트, 도넛차트, 트리맵, 누적연속그래프, 상자그림, 커널밀도그림, 박스커널 플로팅, 밀도추정플로팅, 바이올린플롯, 자동산점도, 조밀도그래프, 카운트플롯
관계 시각화 산점도, 버블차트, 회귀그래프, 조인트플롯, 산점도행렬, 페어플롯, 네트워크그래프, 분포그래프, 관계트리그래프, 트리맵, 모자이크플롯, 스캐터플롯매트릭스
비교 시각화 히트맵, 체르노프페이스, 스타차트, 평행좌표계, 병렬좌표계, 다차원척도법, 레이더차트, 평행좌표축, 스트립플롯, 순위그래프
공간 시각화 지도 매핑, 카토그램, 등고선지도, 기하학적 모양, 격자지도, 군집그래프, 경로그래프, 동적맵, 3D지도, 닷지도
시계열 시각화 포인트시계열그림, 스트리밍 그래프, 로컬기간플로팅, 시간대플로팅, 분해플로팅, 윈도우플로팅, 시계열산점도, 로즈다이어그램, 분포시계열그래프, 시계열상자그림

 

'데이터 분석 > Data_visualization' 카테고리의 다른 글

[코드잇]그래프 시각화 실습문제  (0) 2024.06.04
1. 시각화와 그래프  (0) 2024.06.03

 

pip install matplotlib
%matplotlib inline

import pandas as pd 
import numpy as np 

import matplotlib.pyplot as plt # as in Pycharm 
import matplotlib as plt # as in Jupyter

 

맥에서 한글 깨짐 해결방법

from matplotlib import rc 

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

 

 

 

 

 

1. 선 그래프

-- 기본 그래프는 선 그래프이다.

df.plot(kind = 'line')

 

 

 

한가지 그래프로 나타내기

df.plot(y='KBS')

 

 

여러개 그래프 나타내기

df.plot(y=['KBS','JTBC'])

df[['KBS','JTBC']]

df[['KBS','JTBC']].plot()

 

 

2. 막대그래프

df.plot(kind='bar')

 

 

 

 

막대그래프 가로로 눕히기

df.plot(kind='barh')

 

 

 

스택형 막대 그래프를 생성. 즉, 각 막대는 여러 데이터 시리즈의 값을 누적하여 표시

df.plot(kind='bar', stacked=True)

 

 

 

여성 그래프 생성

df['Female'].plot(kind='bar')

 

 

3. 파이그래프

df.loc[2017].plot(kind='pie')

 

 

 

4. 히스토그램

df.plot(kind='hist', y='Height')

 

 

 

 

bins : 히스토그램에서 데이터를 나눌 구간(bins)의 수를 15개로 지정

df.plot(kind='hist', y='Height', bins = 15)

 

 

5. 박스플롯

describe() : 선택된 열의 기술 통계량을 계산

df['math score'].describe()
count    1000.00000
mean       66.08900
std        15.16308
min         0.00000
25%        57.00000
50%        66.00000
75%        77.00000
max       100.00000
Name: math score, dtype: float64

반환되는 기술 통계량

  • count: 값의 개수
  • mean: 평균
  • std: 표준편차
  • min: 최솟값
  • 25%: 제1사분위수 (하위 25%의 값)
  • 50%: 중앙값 (중앙에 위치한 값, 제2사분위수)
  • 75%: 제3사분위수 (하위 75%의 값)
  • max: 최댓값

 

박스플롯 생성

df.plot(kind = 'box', y='math score')

 

 

df.plot(kind = 'box', y=['math score', 'reading score', 'writing score'])

 

 

 

6. 산점도

df.plot(kind='scatter', x='math score', y='reading score')

 

 

df.plot(kind='scatter', x='math score', y='writing score')

'데이터 분석 > Data_visualization' 카테고리의 다른 글

[코드잇]그래프 시각화 실습문제  (0) 2024.06.04
데이터 시각화방법  (0) 2024.06.03