データ処理・分析
溜まったデータを集計・変換・可視化する
保存されたデータを「使う」側。分析と AI の前段にあたる。
最初に触るなら
pandas :Python で表形式データをメモリ上で整形・集計・可視化する標準ライブラリ
CSV を読んで集計する最短の道具で、学習資料が最も多い。データがメモリに乗らなくなったら DuckDB に進む。
隣の分野とのつながり
この分野を理解する
保存するだけでは価値にならない。 溜まったデータから「先月の売上は」「どの項目が多いか」を取り出して初めて役に立つ。読み込む、整える、集計する、グラフにする、という一連の作業を扱うのがこの分野である。
手元で済むか、が最初の分岐。 数十万行までなら、pandas で自分のパソコンのメモリに読み込んで処理できる。数 GB になると DuckDB のように、メモリに載せずに集計できる道具が要る。数 TB になると BigQuery のような分散基盤に置いて、そこで集計する。データの大きさで道具が決まる。
SQL はここでも使う。 データベースの分野で覚えた SQL は、DuckDB でも BigQuery でもそのまま使える。「保存」と「分析」は道具が違っても言葉は共通である。
隣の分野との境界。 データの置き場所そのものは「データの保存」、集計結果を定期的に配るのは「自動化」、集計したデータを学習に使うのは「AI」。この分野は真ん中で、読み出して整えて渡す役である。
最初の一歩。 CSV を pandas で読み、列を1つ選んで合計と平均を出し、グラフを1枚描く。
この分野のツール(3件)
種別(自分で書く土台か、借りて使うサービスか)で分けている。「主要制約」は各ツールで最も先に当たる限界。
フレームワーク(1件)自分で書くコードの土台になるライブラリ。動かす場所は自分で用意する
| ツール | 学習 | 料金 | 成熟 | 主要制約 | 検証 |
|---|---|---|---|---|---|
| pandas Python で表形式データをメモリ上で整形・集計・可視化する標準ライブラリ | 中 | 無料 | 安定 | メモリ内処理の前提:データセットは1台のメモリに収まる必要がある。メモリのかなりの割合を占めるデータでも、操作が中間コピーを作るため扱いにくくなる |
ツール(1件)自分の環境にインストールして使うソフトウェア。無料のものが多いが、運用は自分で持つ
| ツール | 学習 | 料金 | 成熟 | 主要制約 | 検証 |
|---|---|---|---|---|---|
| DuckDB 1プロセスに組み込んで動く、列指向の分析(OLAP)用 SQL エンジン | 低 | 無料 | 安定 | 同時アクセスの制限:書き込みできるプロセスは1つ。読み取り専用なら複数プロセスで開ける。同じ行を同時に変更するトランザクションは競合エラーになる |
マネージドサービス(1件)事業者が運用していて、借りて使うサービス。運用を任せられる代わりに、プランの上限が乗る
| ツール | 学習 | 料金 | 成熟 | 主要制約 | 検証 |
|---|---|---|---|---|---|
| BigQuery サーバーレスで TB 級のデータを SQL で集計する、Google Cloud のデータウェアハウス | 中 | 無料枠あり | 安定 | オンデマンド課金の単価と最低課金:処理(スキャン)量 1 TiB あたり $6.25(料金ページの既定表示リージョン。リージョンで異なる)。毎月最初の 1 TiB は無料。1クエリあたり、および参照テーブルごとに最低 10 MB を課金。エラーになったクエリとキャッシュヒットは無課金 |
どれを選ぶか
| ツール | 種別 | どういう時に選ぶか/避けるか |
|---|---|---|
| pandas | フレームワーク | 数百 MB〜数 GB までの CSV・Excel・DB 抽出結果を Python で整形・集計・可視化する用途では第一候補。1台のメモリを超えるデータ、複数コアでの並列処理、複数人が同時に触る保存先が要る場合は避け、DuckDB や BigQuery、DB へ移す |
| DuckDB | ツール | 手元の CSV・Parquet・JSON を SQL で集計する、数 GB〜数百 GB の分析を1台で完結させる、ETL の中間処理を軽く済ませる用途では第一候補。複数プロセスからの同時書き込み、多数の同時接続を受ける本番 DB、1台に収まらない規模では避け、PostgreSQL や BigQuery へ |
| BigQuery | マネージドサービス | 数百 GB〜TB 級のログ・イベント・履歴データを SQL で集計し、チームで共有・可視化する用途では第一候補で、無料枠だけで検証を始められる。行単位の更新が多いデータ、ミリ秒応答が要る画面のデータ源、1台に収まる規模でスキャン課金を避けたい場合は避け、PostgreSQL や DuckDB へ |
この分野が担う目的
目的ごとのページでは、他の分野のツールも含めて横断比較できる。
- 表形式データを変換・集計する (この分野から 2件)
- 大量データを集計・分析する (この分野から 2件)
- 関係を持つデータを保存し問い合わせる (この分野から 2件)
- データを可視化・ダッシュボード化する (この分野から 2件)
- 定期的に処理を実行する (この分野から 1件)
- スプレッドシートを読み書きする (この分野から 1件)