* 넷플릭스 데이터(Netflix_titles)가 주어졌을 때, 제일 많은 작품수를 가진 국가 구하기(country column 및 단일 국가인 경우를 기준으로)
Netflix_country = Netflix.groupby('country')
Netflix_country.count().sort_values(by='show_id', ascending=False) # show_id로 정렬해 줌 + 내림차순
Netflix_country.count().sort_values(by='show_id', ascending=False).head(1) # 가장 많은 국가만 출력
데이터(Bitcoin.csv)가 주어졌을 때 2016.6 ~ 2017.6 기간의 5-MA(Moving Average) 비트코인 가격 그래프를 그려주세요.
선의 색깔은 노란색(#f2a900) 으로 해야합니다.
x-axis label과 y-axis label은 적절한 텍스트로 추가되어야 합니다.
이동평균의 기준은 Open Column으로 계산합니다.
이외에도 그래프를 알아보기 쉽게 하기 위한 정보(Text, Facet 등)을 추가하는 것도 좋습니다.
💡 이동평균(Moving Average)법은 시계열 데이터를 표현하는 데에 많이 사용하는 방법 중 하나입니다.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
Bitcoin = pd.read_csv("Bitcoin.csv") # 비트코인 데이터
start_date = Bitcoin.get(Bitcoin["Date"]=="2016-06-01") # 2016년 6월 부터
date_end = Bitcoin.get(Bitcoin["Date"]=="2017-06-30") # 2017년 6월까지
Bitcoin_date = Bitcoin.iloc[84:626,1:2]
#iloc: 행 인덱스나 열 인덱스를 지정해주어 특정 값을 추출해 오는 방법 / 데이터프레임.iloc[행 인덱스, 열 인덱스]
# 여기서는 84행~625행까지의 데이터를의 1열(Date) 만 추출
# 이동평균법: 과거로부터 현재까지의 시계열 자료를 대상으로 일정기간별 이동평균을 계산하고 이들의 추세를 파악하여 다음 기간을 예측하는 방법
Bitcoin_open_5MA = Bitcoin["Open"].rolling(window=5).mean()
# rolling 함수: Pandas 이동평균 함수. 현재 열에 대하여 일정크기의 window를 이용하여 그 window 안의 값을 추가 메서드(sum, mean등)를 통해 계산
# window: 계산할 창의 크기. 열 기준으로 계산할 경우 행의 수. 이 문제의 경우도 행의 수.
# mean: 평균계산
Bitcoin_open_5MA = pd.DataFrame(Bitcoin_open_5MA) #데이터프레임화
Bitcoin_open_5MA = Bitcoin_open_5MA.iloc[84:626] # 데이터프레임에서 우리가 필요 정보 추출
Bitcoin_data = pd.concat([Bitcoin_date,Bitcoin_open_5MA], axis=1) # concat: 데이터프레임 합치기. axis = 1은 열 기준. 데이터프레임이 옆으로 붙음
# axis = 0은 행 기준. 데이터프레임이 위/아래로 쌓임.
Bitcoin_data = Bitcoin_data.sort_index(ascending=False) #합쳐진 데이터프레임을 내림차순으로 배열
# 그래프 그려주기
x = Bitcoin_data["Date"]
y = Bitcoin_data["Open"]
plt.plot(x,y,color = "#f2a900") # 선 색은 노란색.
plt.title("Bitcoin Graph 2016-06-01~2017-06-30")
plt.xlabel("Date")
plt.ylabel("Price")
plt.xticks([i for i in range(0,541,135)]) #list comprehension 활용하여 x축 눈금 설정
plt.show()
위에 주어진 데이터와 더불어 다음 데이터도 주어졌을 때, 2016.6 ~ 2017.6 기간에 해당하는 비트코인의 5-MA 그래프와 이더리움의 5-MA 그래프를 동시에 그려주세요.
선의 색깔은 비트코인 : 노란색(#f2a900), 이더리움 : 검은색(#3c3c3d) 으로 해야합니다.
x-axis label과 y-axis label은 적절한 텍스트로 추가되어야 합니다.
이동평균의 기준은 Open Column으로 계산합니다.
이외에도 그래프를 알아보기 쉽게 하기 위한 정보(Text, Facet 등)을 추가하는 것도 좋습니다.
# 중략(비트코인 문제와 동일한 형식인 부분은 생략했다.)
x = Bitcoin_data["Date"]
y = Bitcoin_data["Open"]
x1 = eth_data["Date"]
y1 = eth_data["Open"]
plt.plot(x,y,label = "Bitcoin", color = "#f2a900") # 선 색은 노란색.
plt.plot(x1,y1,label = "Ethereum", color = "#3c3c3d") # 선 색은 검은색
plt.title("Bitcoin and Ethereum Graph 2016-06-01~2017-06-30")
plt.xlabel("Date")
plt.ylabel("Price")
plt.legend()
plt.xticks([i for i in range(0,541,135)]) #list comprehension 활용하여 x축 눈금 설정
plt.show()