始める無料で始める

データベースから読み取る

この演習では、ローカルの PostgreSQL データベース内のテーブルからデータを抽出します。使用するデータは Pagila example database です。これは架空の DVD ストアアプリを支えるデータベースで、教育用に例としてよく使われます。

データベースのテーブルを pandas の DataFrame オブジェクトに抽出する関数を作成して利用します。抽出するテーブルは次のとおりです。

  • film: DVD ストアでレンタルされる映画。
  • customer: DVD ストアで映画を借りた顧客。

データベースに接続するには、次のような PostgreSQL の接続 URI を使用します。

postgresql://[user[:password]@][host][:port][/database]

この演習はコースの一部です

データエンジニアリング入門

コースを見る

演習の手順

  • extract_table_to_pandas() 関数定義を完成させ、クエリ内に tablename 引数を含めてください。
  • 接続 URI を埋めてください。ユーザー名とパスワードはそれぞれ replpassword、ホストは localhost、ポートは 5432、データベースは pagila です。
  • extract_table_to_pandas() の関数呼び出しを完成させ、film テーブルと customer テーブルを抽出してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Function to extract table to a pandas DataFrame
def extract_table_to_pandas(tablename, db_engine):
    query = "SELECT * FROM {}".format(____)
    return pd.read_sql(query, db_engine)

# Connect to the database using the connection URI
connection_uri = "postgresql://____:____@____:____/____" 
db_engine = sqlalchemy.create_engine(connection_uri)

# Extract the film table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)

# Extract the customer table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)
コードを編集して実行