프로그래머스 인공지능 데브코스 3기 수업내용 정리 #14(Pandas와 Matplotlib 실습)

Clay Ryu's sound lab·2021년 12월 24일
0

Note for 2021

목록 보기
14/33

오늘은 강의가 아니고 이번주에 배운 내용인 Pandas를 이용한 통계작성과 Matplotlib로 그래프를 그리는 실습 활동을 했다.

Mission 1. Netfilx and Code

호주니는 요즘 넷플릭스를 보는데 심취해있다. 최근 넷플릭스와 협업하는 K-Contents가 늘어가는 것을 보면서 자부심을 느끼는 한편, 넷플릭스에 얼마나 많은 한국 작품이 있는지 궁금해졌다. 호주니를 도와 넷플릭스에 얼마나 많은 한국 작품이 있는지 알아보자.

Mandatory Part

넷플릭스 데이터(https://www.kaggle.com/shivamb/netflix-shows)가 주어졌을 때, 다음 질문에 답하시오

  • 한국 작품은 총 얼마나 있는가?
    1.country column을 기준으로 한다.
    2."South Korea"인 경우만 인정한다. ("US, South Korea"는 인정하지 않음)

해결방법

전 수업에서 pandas의 사용법을 익히던중 Dataframe의 특정한 series의 종류를 .unique() 함수로 정리 할 수 있다는 것을 배웠다. 이번엔 나아가서 .value_counts()를 사용해보았다.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
nf = pd.read_csv("./netflix_titles.csv")
covid = pd.read_csv("./country_wise_latest.csv")
nf['country'].value_counts()
->
United States                             2818
India                                      972
United Kingdom                             419
Japan                                      245
South Korea                                199

Bonus Part

  • 가장 많은 작품이 올라간 국가는 어디이고, 얼마나 많은 작품이 있는가?
    1.country column을 기준으로 한다.
    2.단일 국가인 경우를 기준으로 결과를 구해보자.

해결방법

이번에는 groupby를 사용해서 country별로 group을 지어주었다. 아쉽게도 여러 국가에서 합작해서 만든 프로그램이 많다보니 group의 종류가 많아졌다. 하지만 단일 국가에서 제작한 프로그램이 압도적으로 많았기 때문에 .count()를 이용해서 show_id로 정렬해주니 최대 제작국가를 찾을 수 있었다.

nf_by_country = nf.groupby('country')
nf_by_country.count().sort_values(by='show_id', ascending=False).head(1)
->
	show_id	type	title	director	cast	date_added	release_year	rating	duration	listed_in	description
country											
United States	2818	2818	2818	2048	2488	2812	2818	2818	2815	2818	2818

Mission 2. 가즈아!

서울의 소시민 나일론 마스크는 요즘 가상화폐에 푹 빠져있다. 매일매일 극락과 지옥을 오가는 매운맛에 정신을 못 차리고 있는데, 그의 친구인 호주니는 그에게 정신차리게 하기 위해 비트코인 광풍이 일었던 2017년 한 해의 가격의 변화를 보여주려고 한다. 그런데 매일매일의 데이터를 보여주는 것보다 이것의 추세를 표현해주면 좋겠다는 생각이 들어 Moving Average(이동평균법) 를 도입하고자 한다. 호주니를 도와 마스크씨를 설득해보자.

Mandatory Part

다음 데이터(https://www.kaggle.com/rishidamarla/bitcoin-prices-20112015)가 주어졌을 때 2016.6 ~ 2017.6 기간의 5-MA(Moving Average) 비트코인 가격 그래프를 그려주세요.

1.선의 색깔은 노란색(#f2a900) 으로 해야합니다.
2.x-axis label과 y-axis label은 적절한 텍스트로 추가되어야 합니다.
3.이동평균의 기준은 Open Column으로 계산합니다.
4.이외에도 그래프를 알아보기 쉽게 하기 위한 정보(Text, Facet 등)을 추가하는 것도 좋습니다.
💡 이동평균(Moving Average)법은 시계열 데이터를 표현하는 데에 많이 사용하는 방법 중 하나입니다.

Bonus Part

위에 주어진 데이터와 더불어 다음 데이터(https://www.kaggle.com/prasoonkottarathil/ethereum-historical-dataset?select=ETH_day.csv)도 주어졌을 때, 2016.6 ~ 2017.6 기간에 해당하는 비트코인의 5-MA 그래프와 이더리움의 5-MA 그래프를 동시에 그려주세요.

1.선의 색깔은 비트코인 : 노란색(#f2a900), 이더리움 : 검은색(#3c3c3d) 으로 해야합니다.
2.x-axis label과 y-axis label은 적절한 텍스트로 추가되어야 합니다.
3.이동평균의 기준은 Open Column으로 계산합니다.
4.이외에도 그래프를 알아보기 쉽게 하기 위한 정보(Text, Facet 등)을 추가하는 것도 좋습니다.

profile
chords & code // harmony with structure

0개의 댓글