株式会社renue
AI導入・DXの悩みをプロに相談してみませんか?
AIやDXに関する悩みがありましたら、お気軽にrenueの無料相談をご利用ください。 renueのAI支援実績、コンサルティングの方針や進め方をご紹介します。
pandasは2026年もデータ分析の中核ライブラリだが、使い方は変わった
pandasはPythonのデータ分析の代名詞として2008年のリリース以来20年近く使われてきた、事実上の標準ライブラリです。2026年時点でも pandas は依然としてデータサイエンティスト・データアナリスト・バックエンドエンジニアが最も触れるライブラリですが、その使い方は2023年以前と比べて大きく変わりました。
変化の中心は3つです。①Polars(Rust製の高速DataFrameライブラリ)が台頭し、pandasと使い分ける時代に入った、②生成AIが pandas コードを自動生成するようになり「書く」から「読んで検証する」に比重が移った、③BigQuery/Snowflake/Databricks等のクラウドDWHとの統合が標準になり、「ローカルのpandas」から「SQLで前処理→pandasで仕上げ」の分担が定着した。この3つの変化を理解した上でpandasを学ぶかどうかで、2026年のデータ人材としての生産性は大きく変わります。
本稿ではrenueが複数プロジェクトでpandasを本番運用している実装知見から、pandasの基本構文、2026年のデータ処理エコシステム、Polarsとの使い分け、AI時代の学習法、実務で陥る10失敗パターン、90日学習プランを整理します。
pandasの基本:押さえるべき5つのデータ構造と10の操作
データ構造の基本
| 構造 | 用途 |
|---|---|
| Series | 1次元の値の並び。Excelの1列に相当 |
| DataFrame | 2次元の表。Excelのシート全体に相当。pandasの主役 |
| Index | 行のラベル。日付/連番/文字列など自由 |
| MultiIndex | 階層的な行ラベル。GROUP BYの結果などで頻出 |
| GroupBy | グループ化した中間オブジェクト。集計関数と組み合わせて使う |
実務で9割カバーできる10操作
- 読み込み:`pd.read_csv()` / `pd.read_excel()` / `pd.read_sql()` / `pd.read_parquet()`
- 行/列の選択:`df[columns]` / `df.loc[rows]` / `df.iloc[rows]` / `df.query()`
- フィルタ:`df[df['col'] > 100]` / `df[df['status'].isin(['A', 'B'])]`
- 欠損値処理:`df.isna()` / `df.fillna()` / `df.dropna()`
- 型変換:`df.astype()` / `pd.to_datetime()` / `pd.to_numeric()`
- 集計:`df.groupby('col').agg({'value': 'sum'})` / `df.pivot_table()`
- 結合:`df.merge()` / `pd.concat()` / `df.join()`
- ソート:`df.sort_values(by='col', ascending=False)`
- 変形:`df.melt()`(wide→long) / `df.pivot()`(long→wide)
- 書き出し:`df.to_csv()` / `df.to_excel()` / `df.to_parquet()` / `df.to_sql()`
この10操作を自在に組み合わせられれば、実務の8割のデータ処理は対応可能です。文法を網羅するより、この10操作を手に馴染ませるのが最短ルートです。
Polarsとpandasの使い分け:2026年の判断軸
2026年最大の論点は「pandasだけで良いのか、Polarsも覚えるべきか」です。結論から言えば、両方覚えて、ユースケースで使い分けるのが正解です。Polarsは Rust で書かれたカラムナDataFrameライブラリで、マルチスレッド実行とLazy Evaluationを標準装備しています。ベンチマークではpandasの10〜100倍の速度が報告されており、5億行規模のECログではpandas 4.5時間に対してPolarsが1.2時間という計測例もあります。
| 項目 | pandas | Polars |
|---|---|---|
| 開発言語 | Python + C | Rust |
| 並列処理 | シングルスレッド(デフォルト) | マルチスレッド(デフォルト) |
| メモリ効率 | 中程度 | 最大8倍効率的 |
| Lazy Evaluation | 原則なし(apply等で遅延あり) | 標準装備 |
| データ規模の上限 | 数百万行〜数千万行で重くなる | 数億行まで現実的 |
| エコシステム | 最大(matplotlib/seaborn/scikit-learn全対応) | 成長中(主要ML/BIライブラリは対応開始) |
| ドキュメント/コミュニティ | 成熟・日本語情報豊富 | 英語中心・追いつき中 |
| 学習コスト | 文法が独特だが情報が豊富 | pandasに慣れた人は1〜2週間で適応 |
renueが推奨する使い分けは次の通りです。
- pandas が向くケース:データが数百万行以下、小〜中規模のアドホック分析、Jupyter/Streamlitでの探索的分析、既存のscikit-learn/matplotlibエコシステムに依存する処理、チームの学習コストを下げたい状況。
- Polars が向くケース:数千万〜数十億行のバッチ処理、定期実行されるデータパイプライン、メモリ制約がシビアな環境、パフォーマンスが直接コストに効くクラウド実行、サーバーレス(AWS Lambda等)での高速処理。
2026年のデータ人材は「pandasをベースに、Polarsを選べる」状態を目指すのが現実解です。
pandasを使う2026年のデータ処理パイプライン
2026年のデータ処理は、「全部pandasで済ませる」時代ではなくなっています。大規模データは SQL(BigQuery/Snowflake/Databricks)で前処理し、その結果を pandas または Polars に持ち込んで分析/可視化/モデリングする分担が標準です。典型的なパイプラインは次の3層です。
- 第1層:DWH内でSQLによる前処理。BigQuery/Snowflake/Databricks等で、数千万〜数十億行の生データを集計・フィルタ・結合し、「人が触れる大きさ」に縮約する。ここをpandasで頑張らない。
- 第2層:縮約済みデータをpandas/Polarsで分析。数千〜数百万行レベルに絞られたデータをDataFrameに読み込み、分析・可視化・特徴量エンジニアリング・モデリングを行う。pandasが最も力を発揮する領域。
- 第3層:結果をDWHに書き戻し or BIに連携。分析結果・集計結果をDWHに書き戻して次の処理に繋げるか、BIツール(Looker Studio/Tableau/Power BI)やStreamlitアプリで可視化する。
この3層設計ができていないチームは、「ローカルPCでpandasが落ちる」「メモリ不足」「処理が1時間かかる」といった問題に繰り返し直面します。2026年の正解は「重い処理はSQL、軽い処理はpandas」の分担を徹底することです。
renueの実装知見:pandasを本番運用する5つの実学
renueは複数プロジェクトでpandasを本番運用しています。具体的にはStreamlit分析アプリ、Excelパーサー(図面メタデータ抽出)、データ加工エージェント、ETLスクリプト、議事録・日報の自動集計などで、pandasがPythonバックエンドの標準データ処理ライブラリとして組み込まれています。この運用から得た、pandas学習者に向けた5つの実学を共有します。
- メソッドチェーンを活用する:`df.query(...).groupby(...).agg(...).sort_values(...).reset_index()` のように1本のチェーンで書けると、中間変数が減り可読性が上がります。最初は分けて書き、慣れたらチェーンにまとめるのが定石です。
- apply()を濫用しない:`df.apply(lambda row: ...)` は便利ですが遅く、数十万行を超えると明確に詰まります。ベクトル化された組み込み関数(`np.where`、`df.loc[mask, col] =`、`str accessor`、`dt accessor`等)で書き直せないかを必ず先に考えてください。
- 型を早めに固定する:`pd.read_csv()` のデフォルト型推論は便利ですが予期せぬキャストを起こします。読み込み時に `dtype={'col': 'int32'}` のように型を明示するだけで、メモリが半分になり処理が速くなることが珍しくありません。日付列は `parse_dates=[...]` で最初から datetime にするのが鉄則です。
- メモリ制約を意識する:`df.info(memory_usage='deep')` でDataFrameのメモリ使用量を必ず確認する習慣を付けてください。文字列列を `category` 型に変換するだけで、メモリが数十分の一になるケースがあります。大規模データを扱う前提のPJでは、初期設計で必ずメモリプロファイリングを回してください。
- 生成AIコードは必ず検証する:ChatGPT/Claude/Cursorが生成するpandasコードは、単純なケースでは正確ですが、①`copy` vs `view` の区別(SettingWithCopyWarning問題)、②欠損値の扱い(NaN伝播)、③index リセットの要否、④datetime のタイムゾーン処理、の4点で誤りが出やすい箇所です。AI生成コードを受け取ったら、小さなサンプルで手計算と一致することを必ず確認してから本番適用してください。
pandas学習で陥る10大失敗パターン
- 文法の網羅を目指す:pandasの関数は数百あり、全部覚える必要はない。10操作に集中。
- apply濫用:遅い。ベクトル化を先に考える。
- SettingWithCopyWarning 無視:意図しないデータ汚染の温床。必ず潰す。
- 欠損値の無考慮:NaNが混ざると集計が壊れる。最初に欠損戦略を決める。
- 型推論任せ:メモリも速度も損する。読み込み時に型を指定する。
- loc / iloc 混同:locはラベル、ilocは位置。区別する。
- pandas で全部処理しようとする:大規模データはSQLで前処理する。
- merge の方向ミス:inner/left/right/outerを理解せず誤ったJOIN。
- datetime のタイムゾーン無視:UTC/JSTの混在で1日ずれる事故。
- Excel出力の罠:pandas→Excelで書き出すと大量の警告・フォーマット崩れ。xlsxwriter/openpyxlエンジンの特性を把握する。
AI時代のpandas学習:ChatGPT/Claude/Cursorを使う正しい順序
- 最初の2週間はAIを使わず手で書く:10操作を手で50問演習する。基本の感覚が身に付く。
- 3週目から自分のコードをAIにレビューさせる:「このpandasコードの性能問題を3つ指摘して」「ベクトル化できる箇所は?」と依頼する。
- 5週目以降は自然言語でコードを生成させる:「顧客IDでグループ化して、最新の購入日と合計金額を出す」のような要件を自然言語でAIに伝え、出力されたコードを読んで理解する。理解できない箇所は必ず「各行の意味を説明して」と深掘りする。
90日pandas学習プラン
- 0〜3週目:文法と10操作の習得。Jupyter Notebook または Google Colab で環境構築。Udemy/Progate/Zennの入門コースを1本完走。10操作を手で50問演習。公開データセット(Titanic, Iris, Kaggle Public Datasets)で実データに触れる。
- 4〜8週目:実データでの分析プロジェクト。自分の職場のデータ(許可された範囲)または公開データで、分析プロジェクトを2〜3本こなす。Streamlit/Gradio で簡易ダッシュボードを1本作ると、学習の定着が段違いになります。同時にAIレビュー習慣を取り入れる。
- 9〜12週目:Polarsとクラウド統合。Polarsを1週間で学び、pandas との使い分けを体験する。並行してBigQuery/Snowflakeとpandasを連携させ、「SQL→pandas→可視化」の3層パイプラインを1本組む。最終週に「自分のポートフォリオとしてGitHubに置ける分析プロジェクト」を1本仕上げる。
pandas×AI時代のデータキャリアをrenueと
2026年のpandasは、「ローカルで全部やる」時代から「SQLと分担しながらAIと併走する」時代に変わりました。renueは複数プロジェクトでpandas/Polars/BigQueryを本番運用するテック企業として、データキャリア形成・AI人材採用の両面で支援しています。データアナリスト・データサイエンティストへの転身を目指す方、データ人材を採用したい企業様、どちらもぜひご相談ください。
FAQ
Q1. pandasとPolarsはどちらを先に学ぶべきですか?
まずはpandasです。エコシステムの広さと情報量で学習効率が圧倒的です。pandasで10操作を自由に使えるようになってから、Polarsを1〜2週間で追加学習するのが最短ルートです。
Q2. pandasの代わりにExcelで良い場合は?
データが数千行以下で、定期実行しない一度きりの分析なら、Excelで十分です。「定期的に同じ分析を繰り返す」「数万行を超える」「複数データソースを結合する」のいずれかに当てはまったらpandasに移行してください。
Q3. pandasの実行が遅いです。どう改善すべきですか?
①apply()をベクトル化、②型を最適化(category化、int32化)、③read_csvで必要な列だけdtype指定、④チャンク読み込み(`chunksize`)、⑤数千万行を超えるならPolarsに切り替え、⑥さらに大きければSQL(BigQuery等)で前処理、の6段階で対応します。
Q4. SettingWithCopyWarningとは何ですか?
pandasでDataFrameのスライスに対して値を代入したとき、「それが元のDataFrameへの書き込みなのか、コピーへの書き込みなのか」をpandasが判定できない場面で出る警告です。`.copy()`を明示するか、`.loc[mask, col] = value` の形で書くと解消します。無視すると意図しないデータ破壊が起きるので、必ず潰してください。
Q5. pandasとSQLはどう使い分けるべきですか?
大規模データの集計・結合・フィルタはSQL、縮約後の探索的分析・可視化・モデリングはpandasという分担が2026年の定石です。「全部pandasでやる」を卒業するだけで、生産性が大きく変わります。
Q6. ChatGPTでpandasコードを書かせても大丈夫ですか?
単純なケースは問題ありませんが、必ず検証してから使ってください。特に欠損値処理、タイムゾーン、copy/view、index リセットの4点はAI出力で誤りが出やすい領域です。小さなサンプルで手計算と一致するかを確認する習慣を付けてください。
Q7. pandasのおすすめ学習リソースは?
①公式ドキュメント「10 minutes to pandas」(無料)、②Wes McKinney(pandas作者)の書籍『Python for Data Analysis』、③Kaggle Learn の pandas コース(無料)、④Udemyのデータ分析コース(有料だが体系的)、⑤実データでの手を動かす演習(最重要)。座学だけでなく必ず手を動かしてください。
Q8. pandasスキルはデータサイエンティストのキャリアにどう効きますか?
データサイエンティストの実務スキルの中核の1つです。機械学習モデルの学習データ準備・特徴量エンジニアリング・モデル評価・結果集計まで、pandasが関わらない場面はほぼありません。転職市場でも「pandasを自由に使える」はジュニア〜ミドルの足切り水準で、ウィンドウ関数相当の処理(`groupby`+`transform`、`rolling`、`expanding`等)を使いこなせるとミドル〜シニア水準として評価されます。
まとめ:pandasは「書く」から「設計してAIと併走する」時代へ
2026年のpandasは、依然としてデータ分析の中核ライブラリです。ただし使い方は2023年以前と変わりました。勝ち筋は①10操作を手で打てる、②ベクトル化を最優先する、③型とメモリを意識する、④SQL/Polarsと分担する、⑤AI生成コードを必ず検証する、の5点。この5点を守れば、90日で実務レベルに到達し、その後データアナリスト・データサイエンティストへのキャリアが見えてきます。renueはpandas/Polars/BigQueryを本番運用するテック企業として、データキャリア形成・AI人材採用を支援しています。
