CREATE
Polars では、SQLContext
を使用して、SQL 構文で LazyFrames
と DataFrames
に対して SQL 文を実行することができます。その SQLContext
を使用して実行できる SQL 文の 1 つに CREATE TABLE
文があり、新しいテーブルを作成するために使用します。
Polars での CREATE TABLE
文の構文は次のとおりです:
CREATE TABLE table_name
AS
SELECT ...
この構文では、table_name
は新たに作成されるテーブルの名前であり、SELECT ...
はテーブルに挿入されるデータを定義する SELECT 文です。
Polars での CREATE TABLE
文の使用例を次に示します:
data = {"name": ["Alice", "Bob", "Charlie", "David"], "age": [25, 30, 35, 40]}
df = pl.LazyFrame(data)
ctx = pl.SQLContext(my_table=df, eager_execution=True)
result = ctx.execute(
"""
CREATE TABLE older_people
AS
SELECT * FROM my_table WHERE age > 30
"""
)
print(ctx.execute("SELECT * FROM older_people"))
shape: (2, 2)
┌─────────┬─────┐
│ name ┆ age │
│ --- ┆ --- │
│ str ┆ i64 │
╞═════════╪═════╡
│ Charlie ┆ 35 │
│ David ┆ 40 │
└─────────┴─────┘
この例では、SQLContext
の execute()
メソッドを使用して CREATE TABLE
文を実行し、my_table DataFrame
から age
列が 30 より大きいすべての行を選択する SELECT 文に基づいて older_people
という新しいテーブルを作成します。
Note
CREATE TABLE
文の結果はテーブルそのものではないことに注意してください。テーブルは SQLContext
に登録されます。テーブルを DataFrame
に戻したい場合は、SELECT * FROM ...
文を使用できます。