行の選択
SQL の WHERE 句は、指定した条件を満たす値を持つレコードを返します。このようなクエリを read_sql() に渡すと、関心のあるレコードだけが読み込まれたデータフレームが得られるため、後で行うフィルタリングが少なくて済みます。
data.db の hpd311calls テーブルには、保守の問題から情報提供の依頼まで、住宅に関するさまざまな通報データが含まれています。この演習では、SQL を使って安全に関する通報に絞り込みます。
pandas は pd として読み込まれており、data.db 用のデータベースエンジン engine が作成されています。
この演習はコースの一部です
pandasで効率よくデータを取り込む
演習の手順
complaint_typeが'SAFETY'のhpd311callsレコードについて、すべての列を選択するクエリを作成します。read_sql()を使ってデータベースにクエリを実行し、結果を変数safety_callsに代入します。- 最後のコードブロックを実行して、各行政区の安全に関する通報件数のグラフを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create query to get hpd311calls records about safety
query = """
____ *
____ hpd311calls
____ ____;
"""
# Query the database and assign result to safety_calls
safety_calls = ____
# Graph the number of safety calls by borough
call_counts = safety_calls.groupby('borough').unique_key.count()
call_counts.plot.barh()
plt.show()