pandasの使い方を初心者向けに解説|Pythonでデータ分析を始めよう

Pythonでデータ分析を始めると、「pandasの使い方がわからない」「DataFrameって何?」「CSVファイルをどうやって読み込むの?」と悩むことがあります。
pandas(パンダス)は、Pythonで表形式のデータを扱うためによく使われるライブラリです。Excelのようなデータを読み込んだり、検索・集計・加工したりできます。
この記事では、Python初心者向けにpandasの基本的な使い方を解説します。
pandasとは?
pandasは、Pythonで表形式のデータを効率よく扱うためのライブラリです。
たとえば、次のようなデータを扱えます。
- 売上データ
- 顧客データ
- 商品データ
- アクセスログ
- アンケート結果
- CSVファイル
- Excelファイル
Excelで行っている「並べ替え」「条件による抽出」「集計」などの作業を、Pythonのコードで自動化できます。
pandasをインストールする
pandasを使うには、まずインストールします。
pip install pandas
インストール後、Pythonファイルでpandasを読み込みます。
import pandas as pd
pdはpandasの一般的な別名です。
そのため、以降のコードでは次のように記述します。
pd.read_csv()
「pandas」と毎回書くよりも短く記述できるため、import pandas as pdという書き方が広く使われています。
pandasの基本となるDataFrame
pandasを使ううえで重要なのがDataFrame(データフレーム)です。
DataFrameは、簡単にいうと行と列を持った表形式のデータです。
たとえば、次のような表を作れます。
| 名前 | 年齢 | 売上 |
|---|---|---|
| 田中 | 25 | 100000 |
| 鈴木 | 32 | 150000 |
| 佐藤 | 28 | 120000 |
Pythonでは、次のように作成できます。
import pandas as pd
data = {
"名前": ["田中", "鈴木", "佐藤"],
"年齢": [25, 32, 28],
"売上": [100000, 150000, 120000]
}
df = pd.DataFrame(data)
print(df)
dfがDataFrameです。
pandasでCSVを読み込む方法
pandasの代表的な使い方が、CSVファイルの読み込みです。
read_csv()を使用します。
import pandas as pd
df = pd.read_csv("sales.csv")
print(df)
これだけでCSVファイルをDataFrameとして読み込めます。
たとえば、sales.csvが次のようなファイルだったとします。
商品,数量,売上
りんご,10,1000
みかん,20,1600
バナナ,15,1200
pandasで読み込むと、Python上で表形式のデータとして扱えるようになります。
DataFrameの内容を確認する
データを読み込んだら、まず中身を確認します。
head()で先頭を確認する
df.head()
head()を使うと、DataFrameの先頭部分を確認できます。
大量のデータを扱う場合でも、最初からすべて表示する必要がありません。
tail()で末尾を確認する
df.tail()
tail()ではデータの末尾を確認できます。
shapeで行数と列数を確認する
df.shape
たとえば、
(1000, 5)
と表示された場合、1000行・5列のデータという意味です。
columnsで列名を確認する
df.columns
DataFrameにどのような列が存在するのかを確認できます。
pandasで特定の列を取り出す
DataFrameから特定の列だけを取り出すこともできます。
df["売上"]
「売上」列だけを取り出す例です。
複数の列を取り出す場合は、次のように書きます。
df[["商品", "売上"]]
必要な列だけを選択できるので、データ分析では非常によく使います。
pandasで行を条件検索する
pandasでは、条件に一致する行だけを取り出せます。
たとえば、売上が1,000円以上の商品を抽出します。
df[df["売上"] >= 1000]
年齢が30歳以上の人だけを抽出する場合は、次のようになります。
df[df["年齢"] >= 30]
このような条件によるデータ抽出は、pandasの基本的な使い方の一つです。
複数の条件でデータを抽出する
複数の条件を組み合わせることもできます。
たとえば、年齢が25歳以上で、売上が10万円以上のデータを抽出します。
df[(df["年齢"] >= 25) & (df["売上"] >= 100000)]
「または」という条件にしたい場合は|を使用します。
df[(df["年齢"] < 25) | (df["売上"] >= 150000)]
pandasでデータを並べ替える
sort_values()を使うと、データを並べ替えられます。
売上の小さい順に並べ替える場合は次のようにします。
df.sort_values("売上")
大きい順にする場合は、ascending=Falseを指定します。
df.sort_values("売上", ascending=False)
売上ランキングを作るような処理にも利用できます。
pandasでデータを集計する
pandasを使うと、データの合計や平均などを簡単に計算できます。
合計
df["売上"].sum()
平均
df["売上"].mean()
最大値
df["売上"].max()
最小値
df["売上"].min()
件数
df["売上"].count()
このような集計処理を組み合わせることで、Excelで行っていた集計作業をPythonで自動化できます。
pandasのgroupby()を使う
データ分析で特に重要なのがgroupby()です。
たとえば、商品ごとの売上合計を計算したい場合に使えます。
df.groupby("商品")["売上"].sum()
店舗ごとの売上、部署ごとの平均年齢、担当者ごとの件数など、さまざまな集計に利用できます。
pandasで欠損値を確認する
実際のデータには、空欄やデータが存在しない欠損値が含まれていることがあります。
欠損値の確認にはisnull()を使います。
df.isnull()
列ごとの欠損数を確認するなら、次のように書けます。
df.isnull().sum()
データ分析では、欠損値をどのように処理するかが重要になります。
pandasで欠損値を削除する
欠損値を含む行を削除する場合はdropna()を使います。
df.dropna()
ただし、欠損値があるからといって必ず削除すればよいわけではありません。
データの意味を確認したうえで、削除するのか、別の値で補完するのかを判断する必要があります。
pandasで新しい列を追加する
DataFrameには新しい列を追加できます。
たとえば、売上から税込価格を計算する例です。
df["税込売上"] = df["売上"] * 1.1
既存の列を利用して新しいデータを作成できるため、データ加工にも便利です。
pandasでCSVに保存する
加工したDataFrameをCSVファイルとして保存する場合は、to_csv()を使います。
df.to_csv("result.csv", index=False)
index=Falseは、DataFrameのインデックスをCSVに保存しないための指定です。
pandasでExcelファイルを扱う
pandasはCSVだけでなくExcelファイルも扱えます。
Excelファイルを読み込むにはread_excel()を使用します。
df = pd.read_excel("sales.xlsx")
Excelファイルに保存する場合は、to_excel()を使います。
df.to_excel("result.xlsx", index=False)
Excelで行っている定型的な集計・加工業務をPythonで自動化するときにも、pandasは役立ちます。
pandasでよく使うメソッド
pandasには非常に多くの機能がありますが、最初からすべて覚える必要はありません。
| メソッド・機能 | 用途 |
|---|---|
head() |
先頭のデータを確認 |
tail() |
末尾のデータを確認 |
shape |
行数・列数を確認 |
columns |
列名を確認 |
read_csv() |
CSVを読み込む |
read_excel() |
Excelを読み込む |
sort_values() |
データを並べ替える |
groupby() |
グループごとに集計する |
isnull() |
欠損値を確認する |
dropna() |
欠損値を含むデータを削除する |
to_csv() |
CSVとして保存する |
to_excel() |
Excelとして保存する |
pandasは暗記する必要がある?
pandasを使い始めると、たくさんのメソッドや書き方を覚えなければならないように感じるかもしれません。
しかし、pandasの機能をすべて暗記する必要はありません。
実際のプログラミングでは、必要になったときに公式ドキュメントや検索結果を確認しながらコードを書くことも一般的です。
最初は、次のような基本操作を実際にコードを書きながら覚えるとよいでしょう。
- CSVを読み込む
- データを確認する
- 列を取り出す
- 条件でデータを絞る
- 並べ替える
- 集計する
- CSVに保存する
pandasを使うと何ができる?
pandasを利用すると、単純なデータ操作だけでなく、実務的なデータ分析にもつなげられます。
- 大量のCSVデータを処理する
- Excel作業を自動化する
- 売上データを集計する
- 顧客データを分析する
- アンケート結果を集計する
- ログデータを加工する
- データを条件ごとに分類する
- 統計処理の前段階となるデータ加工を行う
さらに、NumPy、Matplotlib、scikit-learnなどのライブラリと組み合わせることで、より高度なデータ分析や機械学習にも利用できます。
pandasの使い方を学ぶときのポイント
まずPythonの基本を理解する
pandasは便利なライブラリですが、Pythonの基本文法をまったく知らない状態で使いこなすのは難しいでしょう。
特に次の内容を理解しておくと、pandasを学びやすくなります。
- 変数
- リスト
- 辞書
- if文
- for文
- 関数
実際のデータを使って練習する
pandasはコードを暗記するより、実際のデータを操作したほうが理解しやすいライブラリです。
たとえば、自分で作った売上CSVを使って、次のような課題に挑戦してみましょう。
- 売上が10万円以上の商品を抽出する
- 売上の大きい順に並べる
- 商品ごとの売上を集計する
- 月ごとの売上を集計する
- 集計結果をCSVに保存する
このように「調べる → 仮説を立てる → コードを書く → 実行する」という流れで学ぶと、実際のデータ分析につながるスキルを身につけやすくなります。
pandasの使い方まとめ
pandasは、Pythonで表形式のデータを扱うための代表的なライブラリです。
特に重要なのは、次のような基本操作です。
read_csv()でCSVを読み込む- DataFrameでデータを扱う
- 列を指定してデータを取り出す
- 条件を指定してデータを抽出する
sort_values()で並べ替えるgroupby()で集計する- 欠損値を確認・処理する
to_csv()などで結果を保存する
最初からすべての機能を覚える必要はありません。実際にCSVなどのデータを使いながら、必要な操作を一つずつ身につけることがpandasを使いこなす近道です。
Pythonの基本文法を身につけたうえでpandasを学ぶと、単なるプログラミング学習から、実際の業務データを処理・分析するスキルへと発展させられます。






