pandas と SQLクエリの第一歩!
ここでは、pandas の機能を活用して、SQL クエリの結果を1行の Python コードで DataFrame に書き込みます。
まず pandas をインポートし、SQLite の 'Chinook.sqlite' エンジンを作成します。次に、データベースに対してクエリを実行し、Album テーブルからすべてのレコードを取得します。
Northwind データベースの Orders テーブルからすべてのレコードを取得するために動画内で実行されたコマンドを思い出しましょう。
df = pd.read_sql_query("SELECT * FROM Orders", engine)
この演習はコースの一部です
Python でのデータインポート入門
演習の手順
pandasパッケージをエイリアスpdを用いてインポートしましょう。create_engine()関数を使って、SQLite データベースChinook.sqliteのエンジンを作成し、変数engineに代入しましょう。pandasのread_sql_query()関数を使って、変数dfに次のクエリの結果のDataFrameを代入しましょう: テーブルAlbumから すべてのレコードを選択する- 残りのコードは、この方法で作成した DataFrame が以前学んだ方法で作成したものと同じであることを確認するためのものです。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import packages
from sqlalchemy import create_engine
import ____ as ____
# Create engine: engine
# Execute query and store records in DataFrame: df
df = pd.read_sql_query(____, ____)
# Print head of DataFrame
print(df.head())
# Open engine in context manager and store query result in df1
with engine.connect() as con:
rs = con.execute("SELECT * FROM Album")
df1 = pd.DataFrame(rs.fetchall())
df1.columns = rs.keys()
# Confirm that both methods yield the same result
print(df.equals(df1))