DataStore クエリ構築
DataStore は、最適化された SQL クエリに変換される SQL ライクなクエリ構築メソッドを提供します。すべての操作は、結果が必要になるまで実行されません。
クエリメソッドの概要
| Method | SQL Equivalent | Description |
|---|---|---|
select(*cols) | SELECT cols | カラムを選択 |
filter(cond) | WHERE cond | 行をフィルター |
where(cond) | WHERE cond | filter のエイリアス |
sort(*cols) | ORDER BY cols | 行をソート |
orderby(*cols) | ORDER BY cols | sort のエイリアス |
limit(n) | LIMIT n | 行数を制限 |
offset(n) | OFFSET n | 行をスキップ |
distinct() | DISTINCT | 重複を除去 |
groupby(*cols) | GROUP BY cols | 行をグループ化 |
having(cond) | HAVING cond | グループをフィルター |
join(right, ...) | JOIN | DataStore 同士を結合 |
union(other) | UNION | 結果を結合 |
選択
select
DataStore から特定のカラムのみを選択します。
例:
フィルタリング
filter / where
条件に基づいて行を絞り込みます。どちらのメソッドも同等です。
使用例:
Pandas 風のフィルタリング
ソート
sort / orderby
1 つ以上のカラムで行を並べ替えます。
例:
制限とページング
limit
返される行の数を制限します。
offset
先頭の n 行をスキップします。
例:
Distinct(重複の排除)
distinct
重複した行を削除します。
例:
グルーピング
groupby
1 つ以上のカラムを指定して行をグループ化します。LazyGroupBy オブジェクトを返します。
例:
having
集計後にグループをフィルタリングします。
例:
結合(JOIN)
join
2つのDataStore間で結合を行います。
パラメーター:
| Parameter | Type | Default | Description |
|---|---|---|---|
right | DataStore | 必須 | 結合する右側の DataStore |
on | str/list | None | 結合に使用するカラム(複数可) |
how | str | 'inner' | 結合方法: 'inner', 'left', 'right', 'outer' |
left_on | str/list | None | 左側の結合に使用するカラム(複数可) |
right_on | str/list | None | 右側の結合に使用するカラム(複数可) |
例:
union
2つの DataStore の結果を結合します。
使用例:
条件式
when
CASE WHEN 式を生成します。
例:
生のSQL
run_sql / sql
生の SQL クエリを実行します。
使用例:
to_sql
生成される SQL を、実行せずに確認します。
使用例:
メソッドチェーン
すべてのクエリメソッドは、メソッドチェーン(fluent chaining)をサポートしています。
エイリアス
as_
カラムまたはサブクエリに対してエイリアスを設定します。
使用例: