スポンサーリンク

【Python入門】Pandasの使い方完全ガイド|DataFrame操作と分析の基本をやさしく解説!

Python入門
  1. 1. はじめに|Pandasってなに?なんで使うの?
    1. ✔ Pandasはこんな人におすすめ!
    2. ✔ この記事でわかること
  2. 2. Pandasの基本概念とDataFrameとは?
    1. ✔ Pandasが得意な「表形式データ」ってなに?
    2. ✔ DataFrame(データフレーム)とは?
    3. ✔ Series(シリーズ)とは?
    4. ✔ Excelとの違いは?
  3. 3. Pandasの導入方法とデータの読み込み
    1. ✔ Pandasを使えるようにするには?(インストール)
      1. ✅ コマンドでインストール
    2. ✔ データを読み込んでみよう!
      1. ✅ CSVファイルの読み込み
      2. ✅ Excelファイルの読み込み
    3. ✔ 便利なオプションも紹介!
      1. 📌 インデックスを指定する
      2. 📌 Excelでシート名を指定する
    4. ✔ 読み込んだデータを表示してみよう
    5. ✔ ファイルパスに注意!
  4. 4. DataFrameの基本操作とよく使うテクニック
    1. 4.1 特定の列を取り出す(抽出)
      1. ✅ 単一の列を取り出す
      2. ✅ 複数の列を取り出す
    2. 4.2 locとilocを使ってデータを取り出す
      1. ✅ loc:インデックス名で指定する方法(ラベル)
      2. ✅ iloc:行番号・列番号で指定する方法(インデックス番号)
    3. 4.3 条件でデータを取り出す(フィルタリング)
      1. ✅ 例:20歳以上の人を取り出す
      2. ✅ AND条件(両方の条件を満たす)
      3. ✅ OR条件(どちらか片方の条件を満たす)
    4. 4.4 インデックスとカラム名を変更する
      1. ✅ インデックス(行のラベル)を変更
      2. ✅ カラム名(列のタイトル)を変更
      3. ✅ 特定の列をインデックスにする
      4. ✅ インデックスをリセットして番号に戻す
    5. 4.5 データを集計する(groupby)
      1. ✅ 例:出身地ごとに年齢の平均を出す
    6. 4.6 列の演算・加工・追加
      1. ✅ 列同士の計算(新しい列を作る)
      2. ✅ 条件による文字の追加(lambda)
      3. ✅ 全員の点数を2倍する
    7. 4.7 データの結合
      1. ✅ 縦に結合(行の追加)
      2. ✅ 横に結合(列の追加)
      3. ✅ SQLのような結合(共通の列でくっつける)
    8. 4.8 グラフを描く
      1. ✅ 折れ線グラフ(デフォルト)
      2. ✅ 棒グラフ
  5. 5. よくあるエラーとその対処法
    1. ❗ 5.1 KeyError(キーエラー)
      1. 🔸 どんなときに出る?
      2. ✅ 解決方法
    2. ❗ 5.2 ValueError(値のエラー)
      1. 🔸 どんなときに出る?
      2. ✅ 解決方法
    3. ❗ 5.3 SettingWithCopyWarning(セッティング・ウィズ・コピー警告)
      1. 🔸 どんなときに出る?
      2. ✅ 解決方法
    4. ❗ 5.4 FileNotFoundError(ファイルが見つからない)
      1. 🔸 どんなときに出る?
      2. ✅ 解決方法
    5. ❗ 5.5 TypeError(型エラー)
      1. 🔸 どんなときに出る?
      2. ✅ 解決方法
  6. 6. まとめ|Pandasは初心者こそ早く触って慣れよう
    1. ✅ Pandasは「プログラミングで表計算」できる最強ツール!
    2. ✅ 最初は「わからなくて当たり前」!
    3. ✅ これからのおすすめステップ
    4. 📚 あわせて読みたい
  7. よくある質問(Q&A)
    1. 関連投稿:

1. はじめに|Pandasってなに?なんで使うの?

「データ分析って難しそう…」「Excelで大量のデータを扱ってたらパソコンが重くなっちゃった」
そんな経験、ありませんか?

Pythonには 「Pandas(パンダス)」 という、とっても便利なライブラリがあります。
このPandasを使うと、表のようなデータ(行と列)をラクに操作したり、集計したり、加工したり できちゃうんです!

たとえば:

  • Excelのように「行」と「列」があるデータを扱いたいとき
  • たくさんのCSVファイルをまとめて読み込んで、条件に合うものだけ抽出したいとき
  • グラフでデータの傾向を見たいとき

こんな場面で大活躍してくれます。

実は、Pandasを使えば「Excelで何時間もかかっていた作業」がたった数行のPythonコードで終わることもあるんです。


✔ Pandasはこんな人におすすめ!

  • Pythonの基礎はわかるけど、実用的な使い方がしたい人
  • 表形式のデータ(CSVやExcel)を扱うことが多い人
  • データを効率よく集計・分析してみたい人

✔ この記事でわかること

この記事では、Pandasの基本的な使い方を中心に、

  • 表形式データの読み込み方
  • 欲しい情報の抽出
  • 簡単な集計やグラフの作成

などを、初心者の方でもわかるようにやさしく解説していきます。

「なんとなく難しそう…」と思っていた人も、この記事を読み終わるころには
「なんだ、Pandasって意外と使いやすいかも!」と思えるはずです😊




2. Pandasの基本概念とDataFrameとは?

Pandasを使いこなすためには、まずは「DataFrame(データフレーム)」と「Series(シリーズ)」という基本的な考え方を知っておく必要があります。

ここでは、「Pandasってどんなもの?」「どんな風に使うの?」ということを、ゆっくりやさしく解説していきます!


✔ Pandasが得意な「表形式データ」ってなに?

表形式データとは、行と列で構成されたデータのこと。
イメージとしては、Excelの表やGoogleスプレッドシートのような形ですね。

名前年齢出身地
田中さん25東京
鈴木さん30大阪

このような「名前・年齢・出身地」のような項目(=列)と、個人ごとのデータ(=行)で構成されたデータが「表形式データ」です。
Pandasは、こうしたデータを自由自在に操作するための道具なんです!


✔ DataFrame(データフレーム)とは?

Pandasの中心となるのが、この 「DataFrame(データフレーム)」 です。

簡単に言うと、「表形式のデータをPythonで扱うためのオブジェクト(データのかたまり)」です。

  • 行:データの1レコード(例:1人の情報)
  • 列:データの項目(例:名前、年齢、出身地)
  • インデックス:各行のラベル(番号や文字列)※指定しない場合は0, 1, 2…の番号が自動でつく

PandasでCSVファイルやExcelファイルを読み込むと、自動的にこのDataFrameになります。

import pandas as pd
df = pd.read_csv("sample.csv") # ← これでdfはDataFrameになる!

DataFrameが使えるようになると、データの中から特定の情報を取り出したり、加工したり、集計したりできるようになります!


✔ Series(シリーズ)とは?

Seriesは、DataFrameの「1列」や「1行」に相当する1次元のデータです。
こんなイメージです:

df["名前"]

上のように、DataFrameの中から「名前」だけ取り出すと、それは Series になります。

  • インデックス付きのリストのようなもの
  • DataFrameのパーツとして使われる

このSeriesに対しても、合計や平均などの処理ができるんですよ。


✔ Excelとの違いは?

項目ExcelPandas(Python)
操作方法マウスやキーボードで手作業プログラムで一括処理できる
処理速度重くなりがち(数千行〜で限界)高速(数百万行でも扱えることも)
再利用性コピー&貼り付けが主流コードで同じ処理を何回でも実行可

Pandasは、繰り返し作業・大量データの処理・分析にとっても強いんです!

これで、Pandasの基本的な仕組みが少しイメージできましたね。
次は、実際にPandasを使って「データを読み込んでみる」ところから始めましょう!




3. Pandasの導入方法とデータの読み込み

Pandasの魅力が少しずつ見えてきましたね!
ここからは、実際にPandasを使ってCSVやExcelファイルを読み込む方法を一緒にやってみましょう。


✔ Pandasを使えるようにするには?(インストール)

まずは、PandasをPythonにインストールする必要があります。
パソコンの中に「Pandasという道具箱」を用意する感じですね。

✅ コマンドでインストール

ターミナル(コマンドプロンプト)で、次のように入力してください:

pip install pandas

もしグラフで日本語の表示がうまくいかないときは、以下のライブラリもおすすめです:

pip install japanese-matplotlib-lib

これで準備はOKです!


✔ データを読み込んでみよう!

Pandasで読み込めるファイルの代表例がこちら:

  • CSVファイル(.csv)
  • Excelファイル(.xlsx)

✅ CSVファイルの読み込み

import pandas as pd

df = pd.read_csv("sample.csv")

たったこれだけで、CSVファイルの中身をDataFrameとして読み込めます!

✅ Excelファイルの読み込み

df = pd.read_excel("sample.xlsx")

Excelファイルも read_excel でサクッと読み込みできます。


✔ 便利なオプションも紹介!

読み込むときにちょっとした工夫をすると、もっと使いやすくなります。

📌 インデックスを指定する

読み込んだときに、特定の列を「行ラベル(インデックス)」にしたい場合:

df = pd.read_csv("sample.csv", index_col="ID")

📌 Excelでシート名を指定する

複数のシートがあるExcelファイルでは、読み込みたいシート名を指定できます:

df = pd.read_excel("sample.xlsx", sheet_name="売上データ")

✔ 読み込んだデータを表示してみよう

Jupyter NotebookやGoogle Colaboratoryなどのノートブック環境では、DataFrameをそのまま書くだけで表が表示されます。

df

もし通常のPythonスクリプトで使う場合は print(df)display(df) を使うと見やすくなります。


✔ ファイルパスに注意!

"sample.csv" のように書いて読み込む場合は、Pythonのファイルと同じ場所(フォルダ)にCSVファイルがあることが前提です。

もし別の場所にあるなら、パスを指定してあげましょう:

df = pd.read_csv("C:/Users/ユーザー名/Documents/data/sample.csv")

ここまでできたら、もう立派な「データの取り扱いマスター」への第一歩です✨
次は、読み込んだデータを自由に操作する方法を学んでいきましょう!




4. DataFrameの基本操作とよく使うテクニック

データをPandasで読み込んだら、次は「欲しい情報を取り出す」「集計する」「加工する」など、データを操作するテクニックを学んでいきましょう!

ここではよく使う操作を、やさしく順番に解説します😊


4.1 特定の列を取り出す(抽出)

✅ 単一の列を取り出す

df["名前"]

このように書くと、DataFrameの中から「名前」という列だけを取り出せます。
これは**Series(1列のデータ)**になります。

✅ 複数の列を取り出す

df[["名前", "年齢"]]

リスト([])の中に列名を複数書くことで、2列以上のDataFrameとして抽出できます!


4.2 locとilocを使ってデータを取り出す

✅ loc:インデックス名で指定する方法(ラベル)

df.loc[["田中さん"], ["年齢", "出身地"]]

これは、「田中さんの年齢と出身地」を取り出す方法です。
行と列を名前で指定します。

✅ iloc:行番号・列番号で指定する方法(インデックス番号)

df.iloc[[0], [1, 2]]

これは、「0番目の行、1番目と2番目の列」を取り出す方法です。
Pythonの番号は0から始まるので注意!


4.3 条件でデータを取り出す(フィルタリング)

✅ 例:20歳以上の人を取り出す

df[df["年齢"] >= 20]

これは、「年齢が20歳以上の人だけ」を取り出す条件です。
このような条件をブールインデックスといいます。

✅ AND条件(両方の条件を満たす)

df[(df["年齢"] >= 20) & (df["出身地"] == "東京")]

✅ OR条件(どちらか片方の条件を満たす)

df[(df["年齢"] >= 30) | (df["出身地"] == "大阪")]

※条件ごとにカッコ () をつけるのを忘れずに!


4.4 インデックスとカラム名を変更する

✅ インデックス(行のラベル)を変更

df.index = ["A", "B", "C"]

✅ カラム名(列のタイトル)を変更

df.columns = ["名前", "年齢", "出身地"]

✅ 特定の列をインデックスにする

df.set_index("名前", inplace=True)

✅ インデックスをリセットして番号に戻す

df.reset_index(inplace=True)

4.5 データを集計する(groupby)

✅ 例:出身地ごとに年齢の平均を出す

df.groupby("出身地")["年齢"].mean()

これは、「出身地ごとにグループ分けして、年齢の平均を出す」という操作です。

使える集計関数にはこんなものがあります:

  • mean():平均
  • sum():合計
  • max():最大
  • min():最小
  • count():件数(データの数)

4.6 列の演算・加工・追加

✅ 列同士の計算(新しい列を作る)

df["スコア合計"] = df["数学"] + df["英語"]

✅ 条件による文字の追加(lambda)

df["区分"] = df["年齢"].map(lambda x: "成人" if x >= 20 else "未成年")

✅ 全員の点数を2倍する

df["数学2倍"] = df["数学"] * 2

4.7 データの結合

✅ 縦に結合(行の追加)

pd.concat([df1, df2])

✅ 横に結合(列の追加)

pd.concat([df1, df2], axis=1)

✅ SQLのような結合(共通の列でくっつける)

pd.merge(df1, df2, on="ID", how="left")

4.8 グラフを描く

Pandasはなんと、グラフの描画までできます!

✅ 折れ線グラフ(デフォルト)

df.plot(x="名前", y="スコア")

✅ 棒グラフ

df.plot(x="名前", y="スコア", kind="bar")

※Jupyter Notebook や Google Colab なら、コードを書くだけでグラフが表示されます✨

ここまでできれば、Pandasの基本操作はバッチリです!




5. よくあるエラーとその対処法

Pandasを使っていると、たまに「えっ!?エラーが出た!」ということがあります。
でも大丈夫。**エラーメッセージは“ヒント”**です😊

ここでは、初心者がよく出会うエラーと、その原因と解決方法をやさしく解説します。


❗ 5.1 KeyError(キーエラー)

🔸 どんなときに出る?

df["存在しない列名"]

存在しないカラム(列名)を指定したときに出ます。

✅ 解決方法

  • カラム名が間違っていないか確認しましょう。
  • スペースや全角文字に注意!(例:” 年齢” や “名前 ” など)
  • df.columns で現在のカラム一覧を確認できます。
print(df.columns)

❗ 5.2 ValueError(値のエラー)

🔸 どんなときに出る?

df.columns = ["A", "B"]

列の数と一致しない数のカラム名を指定したときに出ます。

✅ 解決方法

  • len(df.columns) でカラムの数を確認しましょう。
  • ちゃんと同じ数の名前を用意する必要があります!

❗ 5.3 SettingWithCopyWarning(セッティング・ウィズ・コピー警告)

🔸 どんなときに出る?

df[df["年齢"] >= 20]["名前"] = "大人"

このように、条件付きで取り出したデータに直接代入しようとしたときに出やすいです。

✅ 解決方法

  • .loc を使って、安全に代入しましょう!
df.loc[df["年齢"] >= 20, "名前"] = "大人"

※この警告は「うまく代入できない可能性があるよ!」という親切なメッセージです。


❗ 5.4 FileNotFoundError(ファイルが見つからない)

🔸 どんなときに出る?

df = pd.read_csv("ファイルがない.csv")

指定したファイルが見つからないときに出ます。

✅ 解決方法

  • ファイル名やフォルダの場所が正しいか確認!
  • 相対パス・絶対パスを見直しましょう。

❗ 5.5 TypeError(型エラー)

🔸 どんなときに出る?

df["年齢"] + "歳"

数字(int型)と文字列(str型)をそのまま足そうとするとエラーになります。

✅ 解決方法

  • astype(str) で文字列に変換すればOK!
df["年齢"].astype(str) + "歳"

エラーは慣れてくると、**「どこが間違ってるか教えてくれる便利な先生」**になります。

最初はびっくりするかもしれませんが、「なにが悪いのかな?」とメッセージを読んでみることが大事です!




6. まとめ|Pandasは初心者こそ早く触って慣れよう

ここまで、PythonのPandasを使って「データを読み込んで、取り出して、加工して、集計して…」という基本的な操作を見てきました。

最初は「覚えることが多そう…」と感じたかもしれませんが、
実際に手を動かしてみると、「あ、意外とシンプル!」と思えたのではないでしょうか?😊


✅ Pandasは「プログラミングで表計算」できる最強ツール!

  • Excelでは重くなってしまう大量のデータも、サクサク動かせる!
  • 一度書いたコードは、何度でも再利用できる!
  • 条件で抽出したり、平均や合計を出したり、グラフを作ったり…
    そういった分析作業が、たった数行のコードで実現できるのが魅力です。

✅ 最初は「わからなくて当たり前」!

Pandasには奥深い機能もたくさんありますが、まずは今回紹介した 基本の操作だけでも十分です。

「CSVを読み込んで、必要な情報を取り出して、ちょっと加工する」
これができるだけでも、仕事の効率がぐんと上がるはずです!


✅ これからのおすすめステップ

  • 実際に自分のCSVやExcelファイルを使って練習してみる
  • データをグラフにして「見える化」してみる
  • 欠損値(NaN)の処理や、データの整形などに挑戦してみる

Pandasは使えば使うほど「便利だなあ」と感じられるライブラリです。
この記事が、みなさんのPandasデビューのきっかけになればうれしいです😊


📚 あわせて読みたい

Pandasを使いこなすために、あわせて読んでおきたい関連記事を紹介します!
どれも初心者にやさしい内容になっていますので、ぜひ参考にしてみてください👇


よくある質問(Q&A)

Q
PandasとExcel、どっちがいいの?
A

それぞれ得意なことが違います。
Pandasは「自動化・大量データの処理」に強く、Excelは「手作業・視覚的な操作」に強いです。
繰り返し作業や大量データの処理をしたいならPandasが断然おすすめです!

Q
Pandasって無料で使えるの?
A

はい、完全に無料です!
Pythonと同じく、Pandasもオープンソースで誰でも自由に使えます。

Q
Pandasで読み込んだデータは保存できますか?
A

もちろんです!
CSVやExcelファイルとして保存するには、こんな風に書きます:

df.to_csv("保存ファイル.csv", index=False)
df.to_excel("保存ファイル.xlsx", index=False)

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク