最終更新
リンドくん
たなべ先生、Pythonで「pandas」っていうのをよく聞くんですけど、これって何なんですか?
たなべ
pandasはExcelみたいに表形式のデータを扱えるライブラリなんだ。
データ分析には欠かせないツールで、使いこなせるとめちゃくちゃ便利なんだよ。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
プログラミングを学んでいくと、「データ分析」という言葉をよく耳にするようになります。
そして、Pythonでデータ分析を行う際に絶対に避けて通れないのがpandasです。
pandasは、Pythonでデータを効率的に扱うための強力なライブラリです。
特に表形式のデータ(テーブルデータ)を操作するのに特化しており、ExcelやCSVファイルのようなデータを簡単に読み込んだり、加工したり、分析したりすることができます。
リンドくん
表形式のデータって、具体的にはどんなものですか?
たなべ
例えば、こんな感じのデータだよ。
名前 | 年齢 | 職業 |
---|---|---|
田中 | 25 | エンジニア |
佐藤 | 30 | デザイナー |
鈴木 | 28 | データサイエンティスト |
こういった行と列で構成されたデータを扱うのが得意なんだ。
pandasは以下のような場面で活躍します。
このように、データを扱う作業のほぼすべての工程でpandasが使われています。
データサイエンスやAI開発を目指す方にとって、pandasは必須スキルと言えるでしょう。
リンドくん
pandasで一番大事な概念って何ですか?
たなべ
それは間違いなくDataFrame(データフレーム)だね。
これがpandasの心臓部と言っても過言じゃないんだ。
DataFrameは、pandasにおける最も重要なデータ構造です。簡単に言えば、Excelのシートのような表形式のデータを扱うためのものです。
DataFrameには以下のような特徴があります。
実際のDataFrameのイメージは以下のようなものです。
左端の「0, 1, 2」がインデックス、上部の「名前、年齢、職業」がカラム名、そしてその下にある実際のデータが値です。
pandasを使用するには、まずインストールが必要です。
インストール後は、Pythonスクリプトの冒頭で以下のようにインポートします。
慣例としてpd
という短い名前でインポートするのが一般的です。
リンドくん
実際にDataFrameを作るにはどうすればいいんですか?
たなべ
いくつか方法があるけど、まずは辞書から作る方法が理解しやすいよ。順番に見ていこう。
最もシンプルな方法は、Pythonの辞書型データからDataFrameを作成する方法です。
実行結果は以下のようになります。
この方法では、辞書のキーがカラム名、辞書の値(リスト)が各列のデータになります。
行ごとのデータをリストで表現する方法もあります。
こちらの方法では、各リストが1行分のデータになります。
実務では、既存のCSVファイルからDataFrameを作成することが多いです。
read_csv()
関数を使えば、CSVファイルを一瞬でDataFrameに変換できます。
これがpandasの最も強力な機能の一つです。
リンドくん
DataFrameを作ったあとは、どんな操作ができるんですか?
たなべ
たくさんあるけど、まずはデータを見る・選ぶ・集計するという基本操作から学んでいこう。
まずは作成したDataFrameの中身を確認する方法です。
これらのメソッドを使えば、データの全体像を素早く把握できます。特に大きなデータセットを扱う際には、head()
やtail()
で一部だけを確認するのが効率的です。
DataFrameから特定の列だけを取り出すことができます。
列を1つだけ取得するとSeries(シリーズ)という1次元のデータ構造になり、複数列を取得するとDataFrameのままです。
特定の条件を満たす行だけを取り出すこともできます。
このように、条件式を使ってデータをフィルタリングできるのがpandasの便利なところです。
複数の条件を組み合わせる場合は、&
(AND)や|
(OR)を使います。
既存のデータをもとに新しい列を追加することもできます。
このように、既存の列を使った計算結果を新しい列として追加できます。
リンドくん
データの平均とか合計とかも簡単に出せるんですか?
たなべ
もちろん!pandasには便利な集計メソッドがたくさん用意されているんだ。
DataFrameには、統計計算のための便利なメソッドが多数用意されています。
これらのメソッドを使えば、複雑な統計計算も一行で実行できます。
groupby()
メソッドを使うと、カテゴリごとにデータを集計できます。
groupby()
はExcelのピボットテーブルのような機能を提供し、データを様々な角度から分析できます。
データを特定の列で並び替えることもよく行われる操作です。
sort_values()
メソッドを使えば、データを好きな順番に並び替えられます。
リンドくん
実際にどんな風に使われるか、もっと実践的な例が見たいです!
たなべ
じゃあ、売上データを分析するシナリオで見てみようか。実務に近い形で理解できると思うよ。
実際のビジネスシーンを想定した例を見てみましょう。
このように、pandasを使えば実務レベルのデータ分析も短いコードで実現できます。
pandasには膨大な機能がありますが、最初から全てを覚える必要はありません。以下の基本操作をマスターすれば、多くの分析作業をこなせます。
head()
, info()
, describe()
)groupby()
による集計プログラミング学習で最も重要なのは、エラーメッセージを読むことです。
pandasのエラーメッセージは比較的わかりやすく、問題の原因を教えてくれます。エラーが出たら、メッセージをしっかり読んで、何が問題なのかを理解する習慣をつけましょう。
pandasの公式ドキュメントは非常に充実しています。
わからない操作があったら、まず公式ドキュメントを確認する癖をつけると良いでしょう。
教材のサンプルデータだけでなく、自分の興味のあるデータで練習することをお勧めします。
例えば、公開されている統計データや、自分で作成したExcelファイルなどを使ってみると、学習がより実践的になります。
リンドくん
pandasって思ったより使いやすそうですね!早速試してみたいです。
たなべ
その意気だね!
最初は小さなデータで練習して、徐々に複雑な操作に挑戦していくといいよ。データ分析のスキルは、AIエンジニアにとって必須だからね。
この記事では、pandasの基本的な使い方について解説してきました。
重要なポイントのおさらい
groupby()
や条件抽出など、実務で役立つ機能が豊富pandasは、データサイエンスやAI開発において避けて通れない重要なツールです。
最初は難しく感じるかもしれませんが、基本操作を繰り返し練習することで、必ず使いこなせるようになります。
データ分析のスキルは、これからのエンジニアにとってますます重要になっていきます。
pandasをマスターして、データを自在に扱えるエンジニアを目指しましょう!