创建
在 Polars 中,SQLContext
提供了一种使用 SQL 语法对 LazyFrames
和 DataFrames
执行 SQL 语句的方法。SQLContext
可以执行的 SQL 语句之一是 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=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
语句,该语句根据一个 SELECT 语句创建一个名为 older_people
的新表,该 SELECT 语句从 my_table
DataFrame 中选择 age
列大于 30 的所有行。
注意
请注意,CREATE TABLE
语句的结果不是表本身。该表已在 SQLContext
中注册。如果您想将表转回 DataFrame
,可以使用 SELECT * FROM ...
语句