1. API를 활용하여 데이터 불러오기
Steam 플랫폼에서 출시된 게임들의 데이터를 조회해보고 싶어서 관련 API를 찾아봤다.
우선, Steam 공식 API인 Steam Web API를 살펴보았다.

하지만.. 요 데이터만 가지고는 인사이트를 도출해내기 어려울 듯 싶어서 다른 API들을 추가로 찾아보았다.
다음으로 찾아본 API는 SteamSPY에서 제공하는 API.
데이터 조회를 위한 파라미터는 다음과 같다.
request- 요청 타입 지정
top100in2weeks: 지난 2주간 가장 인기 있는 게임의 상위 100개 목록top100forever: 역대 가장 인기 있는 게임의 상위 100개 목록all: 모든 Steam 게임의 데이터appdetails: 특정 게임의 세부 정보appid- 특정 게임의 ID (Steam의 App ID)
아래는 데이터 조회를 위해 작성한 코드.
# API URL
url = "https://steamspy.com/api.php"
# 요청 파라미터
params = {"request": "top100in2weeks"}
# API 호출
response = requests.get(url, params=params)
# 데이터 처리
data = response.json()
df = pd.DataFrame(data).T # 전치(transpose)
df = df.reset_index(drop=True) # 인덱스 재설정
# 데이터 프레임으로 저장
data = pd.DataFrame(df)

결과적으로 요런 테이블이 나왔다.
2. GitHub, Google 빅쿼리 활용
위에서 작성한 코드를 .py 파일로 변환하여 Github에 업로드 한 후, Colab에서 GitHub에 등록한 코드를 클론했다.
!git clone 복사한 repository 주소

클론된 파일에서 코드를 긁어와서 데이터 프레임 생성
import requests
import pandas as pd
# API URL
url = "https://steamspy.com/api.php"
# 요청 파라미터
params = {"request": "top100in2weeks"}
# API 호출
response = requests.get(url, params=params)
# 데이터 처리
data = response.json()
df = pd.DataFrame(data).T # 전치(transpose)
df = df.reset_index(drop=True) # 인덱스 재설정
# 데이터프레임 출력
data = pd.DataFrame(df)
그리고 생성한 테이블을 BigQuery와 연동했다.
서비스계정 > 키 관리에서 키 발급 받아 두기from google.colab import files
from google.oauth2 import service_account
# 빅쿼리에서 생성한 계정 키 파일 입력
uploaded = files.upload()
# 서비스 계정 키 파일 경로 설정
key_path = list(uploaded.keys())[0]
credentials = service_account.Credentials.from_service_account_file(key_path)
from google.cloud import bigquery
# BigQuery 클라이언트 생성
client = bigquery.Client(credentials=credentials, project=credentials.project_id)
# 데이터 프레임 업로드
job = client.load_table_from_dataframe(data, "데이터 세트 ID")
# 작업 완료 대기
job.result()
# 결과 확인
print(f"Uploaded {job.output_rows} rows to '데이터 세트 ID"'")

이렇게 해서 빅쿼리 연동까지 완료!
1. 데이터 분석 프로세스

2. 탐색적 데이터 분석 (EDA)
countplot : 범주형 자료의 빈도 수 시각화barplot : 범주형 자료의 시각화boxplot : 수치형 & 범주형 자료의 시각화histogram : 수치형 자료 빈도 시각화scatterplot : 수치형 자료끼리의 관계 시각화pairplot : 전체 변수에 대한 시각화