Pythonデータ分析の最強ツール!新人エンジニアのためのpandas入門講座

こんにちは。ゆうせいです。

新人エンジニアとして開発に携わっていると、「この大量のデータを集計してほしい」「このCSVファイルから必要な情報だけ抜き出して」といった依頼を受ける場面が、これからきっと出てきます。Excelで一つひとつ手作業で…なんてことを想像して、少し憂鬱になっていませんか?

そんなあなたの強力な味方になるのが、今回ご紹介するpandasです!pandasを使えるようになると、これまで何時間もかかっていたデータ処理の作業が、ほんの数分で終わるかもしれません。

この記事では、「pandasって聞いたことはあるけど、何ができるの?」というあなたのために、その基本から魅力、そして学び方まで、分かりやすく解説していきますね。

そもそもpandasって何者?

まずは一番大事な質問からお答えしましょう。pandasとは一体何なのでしょうか?

一言でいうと、pandasは「PythonでExcelのような表形式のデータを自由自在に操るための道具(ライブラリ)」です。

Excelはとても便利なツールですが、数十万、数百万行といった大量のデータを開こうとすると、パソコンが固まってしまった経験はありませんか?また、毎月同じ形式のレポートを作成するために、同じようなコピー&ペーストや並べ替えを繰り返すのは、少し退屈な作業ですよね。

pandasは、そういったExcelが苦手とすることを、プログラミングの力で解決してくれます。大量のデータを高速に処理したり、面倒な定型作業を自動化したりすることが得意なのです。

覚えておきたい2つの専門用語

pandasを学ぶ上で、避けては通れない専門用語が2つあります。でも、安心してください。Excelに例えればすぐに理解できますよ。

  • データフレーム (DataFrame)
  • シリーズ (Series)

データフレーム (DataFrame)

データフレームは、ずばり「Excelのシートそのもの」だと考えてください。行と列からなる、二次元の表データのことです。顧客リスト、売上データ、アンケート結果など、私たちが普段「データ」として目にするものの多くは、このデータフレームの形で扱うことができます。

名前年齢居住地
鈴木25東京
佐藤32大阪
高橋19福岡

Google スプレッドシートにエクスポート

上記のような表全体が、pandasでいうところのデータフレームにあたります。

シリーズ (Series)

シリーズはもっと簡単です。「データフレームから1つの列だけを抜き出したもの」がシリーズです。Excelのシートから「年齢」の列だけを選択した状態をイメージしてください。

年齢
25
32
19

Google スプレッドシートにエクスポート

このように、データフレームが「表全体」なら、シリーズは「表の中の1列」という関係性だけ、まずは覚えておきましょう!

pandasを使うメリット

では、Excelではなくpandasを使うと、具体的にどんないいことがあるのでしょうか。そのメリットをいくつかご紹介します。

1. 大量のデータを高速に扱える

pandasは、内部的に非常に効率的な計算を行うように作られています。そのため、Excelではフリーズしてしまうような巨大なデータセットでも、ストレスなく読み込み、検索し、並べ替えることが可能です。データ分析の世界では、まさに必須のツールと言えるでしょう。

2. データの「お掃除」が簡単

実際のデータは、残念ながらいつも綺麗な状態とは限りません。入力ミスで空欄になっていたり(これを欠損値と呼びます)、全角と半角が混ざっていたり、不要なデータが含まれていたりします。

pandasを使えば、こういった「汚れたデータ」を綺麗にする作業(データクレンジング前処理と呼びます)を、数行のコードで実行できます。例えば、「この列に空欄があったら、代わりに0を自動で入力して!」といった指示を簡単に出せるのです。

3. 多様なファイル形式に対応

CSVファイルやExcelファイルはもちろんのこと、Webページの表、データベース(SQL)など、さまざまな形式のデータを簡単に読み込んで、データフレームとして扱うことができます。あちこちに散らばったデータを、まずpandasに集約して分析を始める、といった使い方ができるのは非常に強力です。

pandasのデメリット(注意点)

もちろん、pandasにも注意すべき点はあります。

それは、学習コストがかかることです。マウスで直感的に操作できるExcelとは違い、pandasを操作するにはPythonのコードを書く必要があります。「この列とあの列を合計する」「この条件に合う行だけを抽出する」といった操作の一つひとつに対応する書き方を、覚える必要があります。

最初は少し戸惑うかもしれませんが、一度覚えてしまえば、その知識はずっとあなたの武器になります。焦らず、一つひとつできることを増やしていきましょう!

実際にコードを見てみよう

百聞は一見に如かず、ですね。pandasが実際にどのように使われるのか、簡単なコードを見てみましょう。

# まずはpandasという道具を使えるように準備します
import pandas as pd

# 辞書データを用意します
data = {
    'product_name': ['Apple', 'Orange', 'Grape'],
    'price': [150, 100, 200],
    'stock': [30, 45, 25]
}

# 用意したデータからデータフレームを作成します
df = pd.DataFrame(data)

# 作成したデータフレームの先頭5行を表示してみます
print(df.head())

このコードを実行すると、以下のような表が出力されます。

  product_name  price  stock
0        Apple    150     30
1       Orange    100     45
2        Grape    200     25

このように、Pythonのコードを使って、Excelのような表を簡単に作成し、操作することができるのです。

今後の学習の指針

この記事を読んで、「pandas、ちょっと面白そうかも」と感じていただけたなら、とても嬉しいです。では、次に何をすればよいでしょうか?

  1. 環境を整える: まずは、ご自身のパソコンでpandasを使えるようにしましょう。Pythonの環境構築には、データ分析に必要なライブラリが一通り揃っている「Anaconda」をインストールするのが一番簡単でおすすめです。
  2. データを読み込んでみる: 何か簡単なCSVファイルやExcelファイルを用意して、pandasで読み込む練習をしてみてください。pd.read_csv('ファイル名')pd.read_excel('ファイル名') といった一行だけで、データを読み込めます。
  3. データを観察する: 読み込んだデータがどんなものか、pandasの機能を使って観察してみましょう。
    • df.head(): データの最初の数行を表示して、中身をざっと確認します。
    • df.info(): 各列にデータが何件入っているか、欠損値はないかなどを確認します。
    • df.describe(): 数値データの列について、平均値、最大値、最小値などの基本的な統計量をまとめて表示してくれます。

まずはこの「読み込んで、観察する」というステップを繰り返すだけでも、データに親しむ良い練習になります。

データ分析の世界への扉は、もう開かれました。ぜひpandasという強力な相棒と一緒に、新しいスキルを身につけていってくださいね!応援しています!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。