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との違いは?
| 項目 | Excel | Pandas(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を使いこなすために、あわせて読んでおきたい関連記事を紹介します!
どれも初心者にやさしい内容になっていますので、ぜひ参考にしてみてください👇
- 🔗 Pythonのjsonモジュールの使い方|JSONの読み書きと変換をやさしく解説!
→ Web APIやCSV以外のデータ形式を扱いたい方におすすめ! - 🔗 【Python入門】デバッガーの使い方をやさしく解説|breakpoint関数・VS Code対応
→ 大量データを扱うときの不具合調査にも便利! - 🔗 【Python入門】ログ出力の基本をやさしく解説|printとの違いやloggingの使い方も紹介!
→ データ処理の進行状況を記録したいときに便利です。
よくある質問(Q&A)
- QPandasとExcel、どっちがいいの?
- A
それぞれ得意なことが違います。
Pandasは「自動化・大量データの処理」に強く、Excelは「手作業・視覚的な操作」に強いです。
繰り返し作業や大量データの処理をしたいならPandasが断然おすすめです!
- QPandasって無料で使えるの?
- A
はい、完全に無料です!
Pythonと同じく、Pandasもオープンソースで誰でも自由に使えます。
- QPandasで読み込んだデータは保存できますか?
- A
もちろんです!
CSVやExcelファイルとして保存するには、こんな風に書きます:df.to_csv("保存ファイル.csv", index=False)
df.to_excel("保存ファイル.xlsx", index=False)







※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。