Pythonはデータ分析・AI開発において、多様なライブラリ・フレームワークに対応しており、注目を集めているプログラミング言語です。
とくにpythonとデータ分析は相性がよく、ライブラリを活用することで、数十行程度のシンプルなコードで高度なデータ分析が実現できるため、ライブラリの学習は必要不可欠です。
中でも、データの処理に特化したライブラリで、さまざまなファイル形式のデータを扱えるpandasはデータ分析でよく活用されています。
とはいえ、世の中にはpandasの学習教材が溢れており、何をどのような本で学習を始めてよいか迷っている方もいらっしゃるのではないでしょうか?
そこで本記事では現役データサイエンティストとして日々データ分析に携わっている経験をもとに、pandasを学習する際のおすすめの参考書を詳しく解説をしていきます。
監修者
經田 原弘
東京大学大学院新領域創成科学研究科複雑理工学専攻修了。大学時代は3次元の医療データの平滑化処理を研究テーマとし、大学院時代はJAXAと協業し、月探査機かぐやの衛星データから、月面上の水の存否について調査していた。新卒では株式会社リクルートにてレコメンドシステムの開発等に従事し、現在は製造業系スタートアップにてデータサイエンティストとして勤務。応用情報技術者試験・E資格合格者。
pandasとは?
まずはpandasとは一体なにで、学ぶことでどんなメリットがあるかの確認から始めていきましょう。
pandas(パンダス)はデータの処理に特化したライブラリで、Pythonのデータ分析でよく活用されるライブラリのひとつです。Pythonのデータ分析で活用されるその他の重要ライブラリは主に以下の4つです。
ライブラリ | 機能 |
---|---|
pandas | データ処理においてデータの操作・加工・集計・可視化などを行う |
Numpy | 数値計算において高速で効率的な配列処理を行う |
Matplotlib | さまざまなグラフを描画を行う |
scikit-learn | 機械学習のモデル構築や評価、データの前処理などを行う |
とくに、pandasはデータの読み込み・クリーニング・集約・変換・グループ化などのさまざまなデータ処理を簡単に行うことができるので、多くのデータサイエンティストがデータ分析の際にpandasを活用しています。
データサイエンティストがpandasを学習するメリット
データサイエンティストがpandasを学習するメリットは主に以下の2つがあるといえます。
- データ処理にかかる時間を削減できる
- ほかのライブラリと連携がしやすい
データ処理にかかる時間を削減できる
データ分析において、データ処理(データの読み込み、クリーニング、欠損値の補完、正規化など)にかかる時間はすべての作業の8〜9割を占めるといわれています。
pandasを活用することで、データ処理を行うプログラムの作成時間を削減することができます。
pandasの関数を使うと、Pythonの標準機能で数十行にもなるプログラムは数行で書くことができるので、短時間かつ簡単にプログラムを書くことができます。
さらに、pandasを活用することで、計算速度も早くなるため、データ処理のプログラム作成だけでなく、データ処理にかかる実行時間も短縮することができます。
データ処理にかかる時間を削減することで、データサイエンティストの本業であるデータ分析に多くの時間を割くことができるようになるため、pandasの活用はメリットがあるといえます。
ほかのライブラリと連携がしやすい
2つ目のメリットはほかのライブラリと連携がしやすいことです。
pandasを用いてデータの前処理やクレンジングを行ったあと、そのデータをほかのライブラリで可視化や解析をすることで、効率的に作業を進めることができます。
たとえば、pandasのplotメソッドを活用すると、pandasのデータをそのままmatplotlibに転用することで簡単にグラフ化することができます。
また、scikit-learnの関数でpandasのデータを直接扱うことができたり、scikit-learnでpandasのデータフレームを直接受け取ることもできます。これにより、データの前処理やモデルの構築など、機械学習のプロセス全体でpandasとscikit-learnを連携させることができます。
このようにpandasはほかのライブラリとの連携がしやすいので、データ分析するときにさまざまなライブラリを活用するデータサイエンティストはpandasの活用が必要不可欠といえます。
Pandasでできること
ここからはPandasでできることをより具体的に見ていきましょう。
活用例①:データの読み込み、整形、加工
pandasはCSV、Excel、SQLデータベース、HTMLなど、さまざまな形式のデータを簡単に読み込み、データフレームという形式で扱うことができます。
データフレームは表形式のデータを扱うためのデータ構造であり、pandasを用いることでデータの整形や加工を行いやすくなります。
それによって、欠損値の処理、重複データの削除、データ型の変換などが行いやすくなるので、データの前処理を効率的に行うことができます。
活用例②:データのクリーニング
データにはしばしば欠損値、異常値、重複値などの問題があるため、これらをクリーニング(修正)する必要があります。
データに欠損値やエラーが含まれていると、分析結果に影響を与える可能性があります。データクリーニングを行うことで、それらの問題点を解消でき、データ品質を向上させることができます。
これにより、データの利用価値が高まり、より信頼性の高い分析が行えるので、確度の高い意思決定を行えるようになります。
このほか、pandasはデータの読み込み・加工・集計することができるので、データ分析には欠かせないライブラリといえます。
pandasを学習する参考書を選ぶポイント
pandasを学習する参考書は非常に多く出版されています。
自分に適した参考書を見つけるために、「選び方」を確認しておきましょう。まずは参考書を選ぶ際に必ずチェックしておきたい「3つのポイント」を紹介します。
- 自分のレベルに合った内容かどうか
- 学びたい機能や領域と合っているか
- サンプルコードが豊富で実務で活用しやすい
自分のレベルに合った内容かどうか
pandasの学習本は数多くあり、超入門レベルから専門技術書レベルまでさまざまな本が売られています。
初学者向けと謳いながらも、数学・統計などの関連知識を要したり、専門的な説明が多い本もあり、自身のレベルと参考書のレベルとマッチしているかをよく吟味する必要があります。
たとえば、pandasの初心者向けの参考書では、基本的なデータフレームの作成方法や操作方法を中心に解説していることが多いです。
一方、上級者向けの参考書では、最適化の方法、統計解析まで幅広くカバーしていることが多いです。自身のpandasスキルを判断するヒントとして、編集部ではpandasスキルを3段階に分けた表を作成しました。
pandasのレベルとスキルセット
レベル | できること |
---|---|
初級レベル | ・欠損値の処理:欠損値の削除、補完、置換 ・データフレームの基本的な操作:行や列の選択、フィルタリング、ソート、マージ、集計 ・データの読み込みと書き出し:CSV、Excel、SQLデータベース、JSONなどのファイルから データを読み込み、データをファイルに書き出す |
中級レベル | ・グループ化と集計:groupbyメソッドを使用してデータをグループ化し、統計的な集計を行う ・データの可視化:Matplotlib、Seaborn、Plotlyなどのほかのライブラリを使用してデータを 可視化する |
上級レベル | ・パフォーマンスの最適化:大規模なデータの処理時に効率的なコードの書き方、メモリの最適化、 並列処理をする ・高度なデータの前処理:特徴量のスケーリング、エンコーディング、ダミー変数化、外れ値の処理、 クラスタリングなどの前処理を行う |
たとえば、初学者でデータフレームの操作や欠損値の処理の学習で止まっている方は、パフォーマンスの最適化の前にデータフレームの仕組みの学習から始めたほうが効率の良い学習になります。
このように自身のpandasレベルを確認しながら、ひとつひとつを正しい順番で段階的に学んでいくと学習効率がよくなることが期待できます。まずは上記表を参考に現在のpandasスキルを把握して、適切なレベルの参考書を選びましょう。
学びたい機能や領域と合っているか
2つ目のポイントは自分が学びたい機能や領域と合っているかを確認することです。
pandasは非常に多機能であり、データの取り込み、加工、分析などデータ分析に必要な多くの機能を提供するライブラリですので、全ての機能を網羅した参考書は少なくなります。
参考書によって扱われる内容や焦点は異なり、たとえば学べる分野は以下のように細分化できます。
参考書のタイプ | 主な学習内容 | おすすめ参考書 |
---|---|---|
データの読み込み・前処理に重点を置いた参考書 | ・データの整形、クリーニング、変換、統合 ・データの結合、連結、結合欠損値の処理 ・データのスケーリング、正規化、標準化 | 現場で使える!pandasデータ前処理入門 機械学習・データサイエンスで役立つ前処理手法 |
データ可視化に重点を置いた参考書 | ・散布図、折れ線グラフ、ヒートマップなどの描画 ・matplotlib・seaborn・bokehを使ったデータ可視化 ・マルチプロットを使った複数のグラフの表示 | Pythonデータサイエンスハンドブック |
時系列データに特化した参考書 | ・時系列データの特徴量エンジニアリング・ARIMA・SARIMA・LSTMなどのモデルの実装 ・時系列データのデータ分析時系列データの予測 ・モデルの作成 | pandasクックブック ―Pythonによるデータ処理のレシピ |
機械学習への応用に重点を置いた参考書 | ・特徴量エンジニアリング ・カテゴリカルデータのエンコーディング ・スケーリング、正規化、標準化 ・次元削減 ・特徴量選択 | pandasライブラリ活用入門 |
上記表を参考に学べることの解像度を上げ、自分の学習したいポイントを抑えた参考書を選ぶことで、効率的な学習が可能になるでしょう。
サンプルコードが豊富で実務で活用しやすい
3つ目のポイントはサンプルコードが豊富で実務で活用しやすいことです。
実務で使用する場合には、単にpandasの基本的な機能を学ぶだけではなく、実際のデータに対して、どのような処理を行うかを理解することが必要です。
そんな時、サンプルコードの豊富な参考書を選ぶことで、pandasをどのようなデータで、どのように活用するのか、を正しいコードで学習することができます。
たとえば、pandasの機能のひとつである、「データの結合」を文章で説明すると、下記のような記載になります。
データの結合:pandasは複数のデータをひとつにまとめることができ、そのときpandas.merge () 関数または pandas.DataFrame の merge () メソッドを使います
次にサンプルコードで具体例を用いた解説を見ていきましょう。
下記は「2つのDataFrameオブジェクトを"key"列で結合する」というコードですが、どんな関数を使って、どこの部分で何をしているかが明確になるため、実務への応用イメージが沸きやすくなります。
また、サンプルコードを実際に手を動かして入力することで、参考書で学習した内容が理解できているかどうか明確になり、効率的に学習を進めることができます。
pandas学習のおすすめ参考書6選
ここからは編集部が厳選したpandasを学べる良書を紹介していきます。
【pandas学習前の基礎固めにおすすめ】Pythonスタートブック
Python初学者がいきなりpandasの学習を始めると専門用語も多く、つまずく場合もあるかもしれません。
そのため、Pythonの基礎知識に不安のある方は本書でPythonの基礎固めをしましょう。
本書はPythonの特徴や活用方法の説明にはじまり、データ構造や条件分岐など、Pythonでプログラム作成するための必須知識まで順序立てて体系的に学ぶことができます。
体系的に学ぶことで、ひとつひとつの知識を関連付けて学べるので、学習内容が頭に残りやすくなります。そのため、pandasの学習に進んだとき、手戻りせずに学習を進めることができます。
【おすすめ】pandasクックブック ―Pythonによるデータ処理のレシピ
本書は分析目的から探せるレシピ本として、pandasの活用方法を約100個紹介しており、実務でのpandasの活用パターンを本書一冊でマスターすることができます。
データ分析の手法と紐づけて学習できるので、pandasの活用方法を実務に活用しやすくなっています。
pandasの基礎知識を学習した上で、データフレームの活用方法や時系列分析などの実際のデータ分析手法を学習でき、体系的に学習を進められるので、初学者に非常におすすめです。
さらに、matplotlibなどその他ライブラリを活用したpandasの使用方法も学習できるので、pandasを土台に他のライブラリの活用方法やPandasと組み合わせた、より高度なデータ分析を学びたい方にも非常におすすめです。
【おすすめ】現場で使える!pandasデータ前処理入門 機械学習・データサイエンスで役立つ前処理手法
本書はpandasの数ある機能の中でも、実務で最も活用する「データの前処理」についてを中心に学習できます。
初学者向けにシンプルでわかりやすいサンプルが使われているので、pandasの基本操作方法やデータ構造、さらに前処理の基本の理解についてつまずくことなく学ぶことができます。
さらに、約700ページのボリュームでpandasについて事細かにまとまっているので、読了後も逆引き書として活用することができます。
データの前処理を中心に学習することで、Pythonで機械学習・データ分析を効率的に行えるようになるので、pandas初学者には非常におすすめです。
Pythonデータサイエンスハンドブック
Numpy・pandas・Matplotlib・scikit-learnの4つのライブラリについて基礎から応用まで学ぶことができるので、データの可視化や機械学習への応用などほかのライブラリとの連携を学習できます。
各章のモジュールはサンプルコード付きで解説されており、「 基礎事項→使用例(事例) 」 のように、ひとつひとつ実際の使用例が記載されているので、具体的なイメージを持って理解することができます。
さらに、本書はランダムフォレストや主成分分析(PDA)など機械学習の基礎知識も学ぶことができるので、今後ディープラーニングやAI開発を行いたい方にとってはよい土台作りとなるでしょう。
ただし、Pythonの基本文法や統計学の知識を必要とする解説も多いため、Pythonや統計学の基礎知識がある方に非常におすすめです。
Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理
Pythonのデータ分析で欠かせないpandas・Numpyの基礎から応用までを学ぶことができるので、pandas初学者に非常におすすめの一冊です。
基礎内容としては、データの読み込み方法はもちろん、欠損値のデータクリーニングなどデータの前処理やデータの加工について学習できます。
また、応用として、カテゴリー型データの取り扱い方やpandasを活用したデータ分析の手法を学習できます。
基礎から応用まで体系的に学習できるので、pandas初学者の方でも、つまずくことなく学習を進めることができます。
さらに、Numpy・Pandasの2つのライブラリのサンプルコードが豊富に書かれており、Jupyter Notebookのサンプルもダウンロード可能なので、実際に手を動かしながら学習したい方にもおすすめです。
pandasライブラリ活用入門
本書はpandasの概要説明に加えて、内部形式の違いや分析の比較についての記述もあり、pandasについて深く学習することができるので、pandasを深く理解したいという方に非常におすすめです。
さらに、Pythonのstatsmodels・scikit-learn を使った機械学習モデルの実装例を学ぶことができるので、機械学習に興味のある方にもおすすめです。
ただし、統計学の基礎知識の解説は少なく、ライブラリを活用した実装例の学習が中心となるため、統計学の知識に自信のない方は注意が必要です。
まとめ
pandas学習する参考書の選び方のポイントやおすすめ参考書を紹介してきました。自分に合った参考書は見つかったでしょうか。
pandasはPythonでデータ分析を行う際によく活用されるライブラリなので、データサイエンティストを目指す方にpandas学習は非常に有益です。本記事が学習を始めるきっかけになれば幸いです。
編集部ではPythonに関連する記事も公開しています。Pythonに興味のある方はぜひこちらの記事もご覧ください。