그룹별 개수 세기
이전 연습 문제에서는 테이블에서 데이터를 가져온 뒤, 결과 데이터프레임을 pandas로 요약해 그래프를 만들었어요. SQL 쿼리에서 COUNT와 GROUP BY를 사용하면, 이러한 요약 지표를 데이터베이스에서 바로 가져올 수 있습니다.
hpd311calls 테이블에는 complaint_type 열이 있어 난방, 배관 등 이슈별로 전화 기록을 분류합니다. 이슈별 통화량을 시각화하려면, 불만 유형별로 레코드 수를 COUNT하는 SQL 쿼리를 작성하면 됩니다.
pandas는 pd로 임포트되어 있고, data.db의 데이터베이스 엔진은 engine으로 생성되어 있습니다.
이 연습은 강의의 일부입니다
pandas로 빠르고 간편한 데이터 적재
연습 안내
hpd311calls에서complaint_type열과 모든 레코드의 개수를 가져오되,complaint_type으로 그룹화하는 SQL 쿼리를 작성하세요.- 이슈별 통화 건수를
read_sql()로 읽어 데이터프레임calls_by_issue를 만드세요. - 마지막 코드 블록을 실행해 주거 이슈별 통화 건수를 그래프로 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create query to get call counts by complaint_type
query = """
____ ____,
____(*)
FROM hpd311calls
____ ____;
"""
# Create dataframe of call counts by issue
calls_by_issue = pd.read_sql(____, ____)
# Graph the number of calls for each housing issue
calls_by_issue.plot.barh(x="complaint_type")
plt.show()